我想弄清楚在Linq2Sql中保存簡單的一對多關係的最佳方法。在Linq2Sql中保存一對多關係的最佳方式是什麼?
讓我們假設我們有以下的POCO模型(順便說一句pseduo代碼):
人具有零到多個駛出的車輛。
class Person
{
IList<Vehicle> Vehicle;
}
class Vehicle
{
string Name;
string Colour;
}
現在,當我保存的人,我傳遞POCO對象到存儲庫代碼(這恰好是L2S)。我可以保存好人物。我通常這樣做。
using (Db db = new Db())
{
var newPerson = db.People.SingleOrDefault(p => p.Id == person.Id) ?? new SqlContext.Person();
// Left to right stuff.
newPerson.Name = person.Name;
newPerson.Age = person.Age;
if (newPerson.Id <= 0)
db.People.InsertOnSubmit(newPerson);
db.SubmitChanges();
}
我不知道我應該在哪裏以及如何處理這個人可能擁有的車輛列表?有什麼建議麼?
SingleOrDefault用於提供只能返回1個結果的查詢(即ID比較)。它像所有L2Q操作一樣延遲加載,因爲它是通過IQueryable完成的 –
2009-01-11 12:15:00
確實,你是正確的。 – sirrocco 2009-01-11 18:46:10