如何访问相关记录的属性? (O/R 设计器生成的实体)

Posted

技术标签:

【中文标题】如何访问相关记录的属性? (O/R 设计器生成的实体)【英文标题】:How can I access properties of related records? (O/R designer generated entities) 【发布时间】:2014-01-23 10:14:05 【问题描述】:

我是 Linq-SQL 的新手,并且使用过 O/R 设计器来生成我的数据类。

我的主数据表有几个 1:M(子-父)关系,这些关联已在设计器中设置。

我想要做的是:

Child c = new Child();
Parent p = new Parent();
p.Children.Add(c);

关联的“属性”窗格包含作为子属性名称的表名(复数形式),但设计器生成的父类没有子项(甚至“子项”)的集合。

我在其他地方读到过,最好让设计师继续使用它(例如,参见 this question 上的 cmets),但自动生成的代码似乎无法满足我的需求。

如何告诉设计者创建必要的集合属性?或者,我将如何手动进行?

【问题讨论】:

【参考方案1】:

查看http://msdn.microsoft.com/en-us/data/jj713299 用一个新的小项目试一试,像在 MSDN 网站上那样一步一步做,然后你可能会发现你的项目中没有做的步骤。 如果两边都选中了“导航属性”并且你已经选中了两边的“将外键属性添加到实体”,那么你应该能够创建你的实体实例并将它们添加到所属的实体实例中。

【讨论】:

谢谢。我以前没有使用过 EF,但您的建议促使我尝试一下。它现在几乎可以正常工作了,新的错误超出了这个问题的范围!

以上是关于如何访问相关记录的属性? (O/R 设计器生成的实体)的主要内容,如果未能解决你的问题,请参考以下文章

如何停止设计器为用户控件上的公共属性生成代码?

JavaScript 面向对象的程序设计记录笔记

如何停止 Visual Studio 为设计器中的控件生成属性设置?

主属性不是在 aspx 设计器中自动生成导致运行时错误

设计模式之三:迭代器模式(IteratorPattern)

js高级程序设计——数据属性和访问器属性