我试图找出在 Linq2Sql 中保存简单的一对多关系的最佳方法。
假设我们有以下 POCO 模型(顺便说一句伪代码):
人有零到多个车辆。
class Person
{
IList<Vehicle> Vehicle;
}
class Vehicle
{
string Name;
string Colour;
}
现在,当我保存一个人时,我将该 poco 对象传递给存储库代码(恰好是 L2S)。我可以很好地保存 person 对象。我通常这样做。
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();
}
我不确定我应该在哪里以及如何处理该人可能拥有的车辆清单?有什么建议么?