2

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

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

那时我注意到有时我无法执行上述操作,因为考虑了一些关联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};

我没有测试过,但不会只看 window.location 工作吗?

4

1 回答 1

2

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

表只是表。如果您使用设计器拖放,您会看到它使 entitySets 复数化,这使事情更具可读性。

编辑:我想从你的设置的声音中,你可能会看到一个 entitySet 如下

from b in TableA select b.TableB

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

于 2010-04-29T13:26:25.373 回答