什么使LINQ关联成为EntitySet?<table> </table>

时间:2010-04-29 11:44:42

标签: c# .net linq linq-to-sql entityset

我刚刚使用 Linq to Sql 来映射我们现有的数据库结构,以便在胖客户端应用中使用。

在编写一些Linq方法来替换一些存储过程时,我注意到有时候我可以做tblOne.tblTwo.MyDesiredField。我了解到dbml中需要有一个 association 才能工作。好吧,我失去了一些明显的,所以我添加了一堆。

那时我注意到有时我无法执行上述操作,因为某些关联表被视为EntitySets<tblThree>而不是表tblThree本身?

对我来说,似乎没有任何押韵或理由可以得到什么。我在dbml做错了吗?我需要在Properties中更改一些内容吗?

这引起关注吗?我注意到要使用EntitySet<tblThree>我需要添加额外的 from ..

from person in context.tblPersons
from address in person.tblAddress where address.AddressType == "Home"
select new {person.Name, address.Home};

1 个答案:

答案 0 :(得分:2)

EntitySet是一个结果集。如果tableA与tableB有1对多的关系,那么tableA.tableB引用tableB中引用tableA中结果的结果集合。

表就是表格。如果你使用设计器进行拖放,你会看到它使entitySets多元化,这使得事物更具可读性。

编辑:我想通过你的设置声音,你可能会看到如下的entitySet

from b in TableA select b.TableB

在这种情况下,TableA是表,b.TableB是EntitySet