转载自:http://msdn.microsoft.com/zh-cn/library/bb629295.aspx
LINQ to SQL 中实体类之间的关联类似于数据库中表之间的关系。可以使用“关联编辑器” 对话框创建实体类之间的关联。
使用“关联编辑器” 对话框创建关联时,必须选择父类和子类。父类是包含主键的实体类;子类是包含外键的实体类。例如,如果创建映射到 Northwind Customers 和 Orders 表的实体类,则 Customer 类将是父类,而 Order 类将是子类。
将表从“服务器资源管理器” /“数据库资源管理器” 拖动到对象关系设计器(O/R 设计器)上时,将根据数据库中现有的外键关系自动创建关联。
创建关联后,当您在 O/R 设计器中选择该关联时,“属性” 窗口中将有一些可配置属性。(关联是用相关类之间的连线表示的。)下表提供对关联的属性的说明。
属性 | 说明 |
---|---|
基数 | 控制关联是一对多关系还是一对一关系。 |
子属性 | 指定是否在父类上创建一个属性,作为关联关系外键一方上的子记录的集合或对这些子记录的引用。例如,在 Customer 和 Order 之间的关联中,如果“子属性” 设置为“True” ,则将在父类上创建一个名为 Orders 的属性。 |
父属性 | 子类上引用关联父类的属性。例如,在 Customer 和 Order 之间的关联中,在 Order 类上创建一个名为 Customer 的属性,用来引用与订单关联的客户。 |
参与属性 | 显示关联属性,并提供一个“省略号” 按钮 (...),该按钮可重新打开“关联编辑器” 对话框。 |
唯一 | 指定外目标列是否具有唯一性约束。 |
创建实体类之间的关联
-
右击表示关联中的父类的实体类,指向“添加” ,然后单击关联 。
-
验证在“关联编辑器” 对话框中是否选择了正确的“父类” 。
-
选择组合框中的“子类” 。
-
选择实现类之间的关联的“关联属性” 。通常,这种关联对应于数据库中定义的外键关系。例如,在 Customers 和 Orders 关联中,“关联属性” 是每个类的 CustomerID。
-
单击“确定” 创建关联。