与多个LINQ的复杂关系

时间:2009-12-14 15:26:48

标签: linq-to-sql entity-relationship

经过长时间的思考,我们发现满足我们需求的最佳方法是使用多个表,就好像它是类一样,所以我们有类似的东西:

tblPerson (pk code)
tblWorker (pk codePerson)
tblPhone (pk code, fk codePerson)
tblAddress (pk code, fk codePerson)

它几乎就像课程一样。 这是非常必要的,因为许多表确实指的是可能是普通人或公司的“通用人”,这可能是客户,供应商,系统用户,并且在那里......

我们使用Controls创建GUI的一部分,因此几乎可以在每个系统上重用它们,并且这些控件在多个项目(DLL)中分组。

问题是如何使用LINQ来完成所有这些工作。 Linq对于人/电话/地址这样的事情非常容易和直截了当。 但是,真的没有关于如何处理的想法,比方说客户。 有没有办法重用以前的LINQ实体(人/电话/等)或者我只需要将它们重新放入新的LINQ DBML文件中?

通过代码我知道我可以让它工作得很好。只需调用其他上下文,我就可以访问该记录......但是网格呢? 我确实需要将网格绑定到linq实体,但它们是分开的。 例如,客户端和电话号码或客户端和地址之间没有DIRECT连接。这是通过PERSON(通用人)实体建立的所有关系。

...

解释起来很容易让人感到困惑。

无论如何,有什么建议吗?

1 个答案:

答案 0 :(得分:0)

Linq to SQL并没有真正涵盖ORM工具中更有趣的部分。 L2S不能像对象NHibernate那样更复杂的ORM来做对象继承和多态。 L2S通常用于简单的东西,你在表和类之间有一对一的关系。