- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第12章
高级查询概念
由于LINQ to SQL 中有很多功能都可以应用于关系数据以及处理关系数据库,因此有
必要专门用一章来讨论LINQ to SQL 与关系数据之间的密切关系。例如,LINQ to SQL 支
持事务和组合键,而且通常入门级的章节中不会介绍这些类型的主题。因此,本章将重点
讨论以下比较高级的主题:
● 数据库关系
● 已编译查询
● 查询执行的位置
● 延迟执行与立即执行的比较
● 组合键
● 只读数据
有关事务的概念将在第13 章讨论。
12.1 数据库关系
LINQ to SQL 完全支持主键和外键,而且第 10 章提供了一对代码示例来说明如何在
LINQ to SQL 中实现主键和外键。基于第10 章的相关内容,本节将讨论如何在LINQ to
SQL 中定义键并说明了如何进行跨键查询。
12.1.1 表示关系
如您所知,数据库中的关系通常是主键/外键类型,即一个表中的一个列或列的集合被
另一个表中的列或列集合引用。在关系数据库中,两个表之间的导航是通过联接操作符或
操作来实现的。在联接操作中,通过在主键和外键上应用 JOIN 操作符将主键表引用为外
键表。
下面的 T-SQL 查询说明了如何通过 ContactID 列将 Person.Contact 表和
HumanResources.Employee 表相联接,从而实现在同一个查询中同时引用这两个表。
SELECT pc.ContactID, pc.FirstName, pc.LastName, pc.EmailAddress,
hre.EmployeeID, hre.NationalIDNumber, hre.Title, hre.HireDate
FROM Person.Contact pc
INNER JOIN HumanResources.Employee hre ON pc.ContactID = hre.ContactID
ORDER BY pc.LastName
第III 部分 LINQ to SQL
接下来的关键就是在LINQ to SQL 中应用相同的联接功能。这可以通过用于辅助表示
数据库中表之间主键/外键关系的类型来实现。这两种类型是EntitySet 和EntityRef 范型,
其类型均为(of TEntity) 。这两种类型为一对多关系中的“多”方提供集合,它们均与
[Association]属性结合使用,[Association]属性有助于定义和表示一个关系。
1. EntitySet (of TEntity)
EntitySet 类型为一对多关系中“多”方的结果提供集合。换句话说,它意味着所定义
的关系是一对多关系。如前所述,它与[Association]属性结合使用来定义并表示一个关系。
在关系定义中也使用了 OtherKey 特性。它为与当前类(表) 的特性(列)相对照的相关类
(表)指定特性(列) 的名称。
下面的示例分别为Contacts 表和Employee 表定义了一个类。在AdventureWorks 数据
库中,可以看到在 ContactID 列上为两个表定义了一个关系。此处的代码将这两个类映射
到它们各自表示的数据库表上,同时使用[Association]属性和EntitySet 类型在Contact 类和
Employee 类之间定义了一个一对多关系。关系的定义是在Contact 类中完成的。
public class AdventureWorks : DataContext
{
public AdventureWorks(string connection) : base(connection) {}
public TableContact Contacts;
public TableEmployee Employees;
}
[Table(Name = Per
您可能关注的文档
- 南京新街口百货商店有限公司关于东方商城卖场装修之关.pdf
- 世仓智能仓储设备(上海)有限公司.pdf
- 甘肃中天羊业有限公司关于及天津江一湖餐饮管理有限公.pdf
- 核心员工离职公告.pdf
- 国产Goldeneye20A试剂盒在精斑DNA检测中应用.pdf
- 要通过协调关节运动使其快速恢复到原先的稳定站立状态。.pdf
- 河南省远洋粉体科技有限公司.pdf
- 浙江华南仪器设备有限公司.pdf
- 当新能源真正广泛使用时我们出门就不用戴口罩了.pdf
- 朗华全能自控设备(上海)有限公司.pdf
- 2025至2030中国移动治疗台行业发展研究与产业战略规划分析评估报告.docx
- 2025至2030链激酶行业细分市场及应用领域与趋势展望研究报告.docx
- 2025至2030爆炸物探测扫描仪行业市场占有率及有效策略与实施路径评估报告.docx
- 2025至2030四川省智能制造行业细分市场及应用领域与趋势展望研究报告.docx
- 2026届高三二轮复习试题政治大单元突破练1生产资料所有制与分配制度含解析.docx
- 2026届高三二轮复习试题政治大单元突破练16哲学基本思想与辩证唯物论含解析.docx
- 2026届高三二轮复习试题政治大单元突破练2社会主义市场经济体制含解析.docx
- 浙江省衢州市五校联盟2025-2026学年高二上学期期中联考技术试题-高中信息技术含解析.docx
- 浙江省金丽衢十二校2026届高三上学期11月联考政治试题含解析.docx
- 2026届高三二轮复习试题政治大单元突破练7领导力量:中国共产党的领导含解析.docx
原创力文档


文档评论(0)