我刚刚使用 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};
答案 0 :(得分:2)
EntitySet是一个结果集。如果tableA与tableB有1对多的关系,那么tableA.tableB引用tableB中引用tableA中结果的结果集合。
表就是表格。如果你使用设计器进行拖放,你会看到它使entitySets多元化,这使得事物更具可读性。
编辑:我想通过你的设置声音,你可能会看到如下的entitySetfrom b in TableA select b.TableB
在这种情况下,TableA是表,b.TableB是EntitySet