2010-04-29 44 views
2

我只是用Sql的Linq我們使用現有的數據庫結構映射在胖客戶端應用程序結束。是什麼讓一個LINQ Association成爲一個EntitySet <table>?

雖然寫一些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}; 

回答

2

EntitySet的是一個結果集。如果tableA與tableB具有一對多關係,則tableA.tableB引用tableB中引用tableA中結果的集合。

表只是表。如果使用設計器進行拖放,您會發現它將entitySets複數化,從而使事情更具可讀性。

編輯:我從你設置的聲音想象,你可能會看到一個EntitySet的如下

from b in TableA select b.TableB 
在這種情況下,表A

是一個表,並b.TableB是EntitySet的

+0

所以它是一對多關係的多方,對嗎?另外,沒什麼可關注的。上面說明了使用EntitySets <>'的正確方法嗎?感謝你的回答。 – 2010-04-29 13:28:57

+0

是的我想說你在這個陳述中想要做的是「給我一個每個人的名單和他們的家庭地址(因爲每個人可以有多個地址) – 2010-04-29 13:33:15

相關問題