- 1、本文档共128页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ADO.NET与数据操作
9.8.2 查询表达式 MyDatabaseClassesDataContext context = new MyDatabaseClassesDataContext( ); var query2 = from table2 in context.MyTable2 select table2.成绩; Console.WriteLine(平均值:{0},最大值:{1}, query2.Average( ), query2.Max( )); var query3 = from table2 in context.MyTable2 select new { StudentName = table2.姓名, Grade = table2.成绩 }; 9.8.2 查询表达式 6.join子句 join子句用于将来自不同源序列并且在对象模型中没有直接关系的元素相关联。每个join子句只接受两个源序列,如果有多个源,可以用多个join子句。 9.8.2 查询表达式 三种最常见的联接类型:内部联接、分组联接和左外部联接。 (1)内部联接 内部联接产生一个结果集,对于该结果集内第一个集合中的每个元素,只要在第二个集合中存在一个匹配元素,该元素就会出现一次。如果第一个集合中的某个元素没有匹配元素,则它不会出现在结果集内。 join子句所实现的内部联接就是关系数据库所描述的内部联接。 内部连接举例 var myQuery1 = from table2 in context.MyTable2 join table3 in context.MyTable3 on table2.学号 equals table3.学号 select new { StudentName = table2.姓名, ReleationName = table3.成员姓名, Releation = table3.与本人关系 }; 9.8.2 查询表达式 (2)分组联接 分组联接会产生一个分层的结果序列,该序列将左侧源序列中的元素与右侧源序列中的一个或多个匹配元素相关联。 例如: var myQuery1 = from table2 in context.MyTable2 join table3 in context.MyTable3 on table2.学号 equals table3.学号 into relation select new { StudentName = table2.姓名, Releation = relation }; 9.8.2 查询表达式 (3)左外部联接 左外部联接是这样一个联接:在其中返回第一个集合的每个元素,而无论该元素在第二个集合中是否具有相关元素。可以使用 LINQ,通过对分组联接的结果调用 DefaultIfEmpty 来执行左外部联接。 在左外部联接中,返回的是左侧源序列中的所有元素,即使它们在右侧序列中没有匹配的元素也是如此。 左外部连接举例 var myQuery1 = from table2 in context.MyTable2 join table3 in context.MyTable3 on table2.学号 equals table3.学号 into relation from item in relation.DefaultIfEmpty( ) select new { StudentName = table2.姓名, ReleationName = (item == null ? - : item.成员姓名), Releation = (item == null ? - : item.与本人关系) }; 9.8.3 对象关系设计器(O/R设计器) O/R设计器提供了一个可视化的图形设计界面,用于创建基于数据库中对象的LINQ to SQL实体类和关联(关系)。 O/R设计器用于在应用程序中创建映射到数据库中对象的对象模型。它还生成一个强类型DataContext,用于在实体类与数据库之间发送和接收数据。O/R设计器还提供了相关功能,用于将存储过程和函数映射到DataContext方法以便返回数据和填充实体类。最后,O/R设计器提供了设计实体类之间的继承关系的能力。 O/R设计器 1.O/R设计器 在Windows窗体应用程序中,打开O/R设计器的方法是: (1)创建一个Windows窗体应用程序。 (2)在【
文档评论(0)