我目前有一個使用實體框架的對象模型,其中包含一個屬性是一個列表的複雜對象。我把它存儲在數據庫與這裏提出的第二個選項:Representing a list in a SQL databasec#如何填充一個複雜的對象包含一個列表與sql
但總結:
Person()
{
long Id;//primary key
string Name;
List<long> ResponsibleFor; //list of id
}
被存儲爲2個以下表格
Persons:
Id,
Name
Responsibilities:
Id,
PersonId,
ResponsibleForId
現在我有點爲難以及如何重新填充Person對象。我目前的做法如下:
from p in db.Persons
join r in db.Responsibilities on p.Id equals r.PersonId
where p.Id == IdImSearchingFor
select new Person
{
Id = p.Id
ResponsibileFor = ?
}
而我卡住試圖重新填充List屬性。
有什麼建議嗎?
謝謝!
這可能會起作用,但將g分組似乎會失去Person的其他元素(例如名稱,但實際上更多)。有沒有一種方法可以進行不同的分組,以便我可以獲得p的所有元素,然後從r中獲取列表? – Norrec
@Norrec您可以使用dbPersons中的整個對象作爲關鍵字進行分組,然後使用它的屬性。我編輯了我的答案。 – okrumnow
我最終通過我的解決方案實施了您的解決方案,因爲它更加清潔。謝謝! – Norrec