LINQ to SQL 中实体类之间的关联类似于数据库中表之间的关系。可以使用“关联编辑器”对话框创建实体类之间的关联。
使用“关联编辑器”对话框创建关联时,必须选择父类和子类。父类是包含主键的实体类;子类是包含外键的实体类。例如,如果创建映射到 Northwind Customers 和 Orders 表的实体类,则 Customer 类将是父类,而 Order 类将是子类。
说明
将表从“服务器资源管理器”/“数据库资源管理器”拖动到对象关系设计器(O/R 设计器)上时,将根据数据库中现有的外键关系自动创建关联。
创建关联后,当您在 O/R 设计器中选择该关联时,“属性”窗口中将有一些可配置属性。(关联是用相关类之间的连线表示的。)下表提供对关联的属性的说明。
属性
说明
基数
控制关联是一对多关系还是一对一关系。
子属性
指定是否在父类上创建一个属性,作为关联关系外键一方上的子记录的集合或对这些子记录的引用。例如,在 Customer 和 Order 之间的关联中,如果“子属性”设置为“True”,则将在父类上创建一个名为 Orders 的属性。
父属性
子类上引用关联父类的属性。例��,在 Customer 和 Order 之间的关联中,在 Order 类上创建一个名为 Customer 的属性,用来引用与订单关联的客户。
参与属性
显示关联属性,并提供一个“省略号”按钮 (...),该按钮可重新打开“关联编辑器”对话框。
唯一
指定外目标列是否具有唯一性约束。
创建实体类之间的关联
右击表示关联中的父类的实体类,指向“添加”,然后单击关联。
验证在“关联编辑器”对话框中是否选择了正确的“父类”。
选择组合框中的“子类”。
选择实现类之间的关联的“关联属性”。通常,这种关联对应于数据库中定义的外键关系。例如,在 Customers 和 Orders 关联中,“关联属性”是每个类的 CustomerID。
单击“确定”创建关联
分享到:
相关推荐
说明:多对多关系一般会涉及三个表(如果有一个表是自关联的,那有可能只有2个表)。这一句语句涉及Employees, EmployeeTerritories, Territories三个表。它们的关系是1:M:1。Employees和Territories没有很明确的...
内存中的对象之间存在关联和继承关系,而在数据库中,关系数据无法直接表达多对多关联和继承关系。因此,对象-关系映射(ORM)系统一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射。ORM框架可以化解...
第26部分 加载实体和导航属性之延缓加载关联实体和在别的LINQ查询操作中使用Include()方法 第27部分 加载实体和导航属性之关联实体过滤、排序、执行聚合操作 第28部分 加载实体和导航属性之测试实体是否加载与显式...
我们提出了一个更复杂的问题--CavertEmptor应用程序--并引导你通过模型化你的业务模型,通过映射表示类型之前的关联关系。你将会了解NHibernate如何使用xml和.net属性来实现映射。我们同时也解释了一些灵活的功能,...
个人体会:建立关系型数据库后,用visual studio 2008创建一个data model,然后你自己的business layer使用data model,使用LINQ,所有开发再也不用什么创建adpater, reader,等等。因为data model就相当于你的内存...
它具有多项新功能,包括持久性忽略和 POCO 支持、外键关联、延迟加载、测试驱动开发支持、模型中的函数和新的 LINQ 运算符。 其他功能包括:带自跟踪实体的更好的 n 层支持、使用 T4 模板的可自定义的代码生成、...
数据访问应用程序块(DAAB)预发布简介:数据访问应用程序块抽象了您正在使用的实际数据库,并公开了使您可以轻松访问该数据库... 尽管它使用映射将参数和关系数据与对象的属性相关联,但并未实现O / RM建模解决方案。
支持Linq式查询,关联,转换更简单 支持数据库事务,SQL支持拼接,占位符,判断等语法 支持文件上传,下载,输出图片 支持脚本历史版本对比与恢复 支持脚本代码自动提示,错误提示,参数提示,语法错误提示
它具有多项新功能,包括持久性忽略和 POCO 支持、外键关联、延迟加载、测试驱动开发支持、模型中的函数和新的 LINQ 运算符。 其他功能包括:带自跟踪实体的更好的 n 层支持、使用 T4 模板的可自定义的代码生成、...
13.5.2 获取关联数据 13.5.3 编辑数据 13.5.4 验证 13.6 使用QueryExtender控件 13.6.1 使用SearchExperssion 13.6.2 使用RangeExpression 13.6.3 使用PropertyExpression 13.6.4 使用Method...
13.5.2 获取关联数据 463 13.5.3 编辑数据 464 13.5.4 验证 464 13.6 使用QueryExtender控件 465 13.6.1 使用SearchExperssion 466 13.6.2 使用RangeExpression 467 13.6.3 使用PropertyExpression ...