如何在Linq To Sql中最好地分配对象关系

时间:2010-11-19 00:22:35

标签: linq-to-sql

让我们假设一个简单的情况,表A和表B之间的简单关系,其中B中有一个A_Id字段。

现在,假设我有一个A类型的对象(currentA),并且正在创建一个全新的B对象。

B newB = new B() { A_id = currentA.Id };

这是设置这种关系的正确方法吗?或者我应该这样做:

B newB = new B() { A = currentA };

在第二种情况下,B.A_Id是否自动设定?

也许我需要明确设置两者?

B newB = new B() { A = currentA, A_Id = currentA.Id };

我正在寻找设置这种新关系的最优雅方式,以便我可以在以后将其正确保存到数据库中,并且可以立即利用它...例如我可能想要这样做:

MessageBox(String.Format("B's parent is now {0}", B.A.Name));

1 个答案:

答案 0 :(得分:0)

起初对我来说并不直观,但答案是:

currentA.Bs.Add(new B());

似乎如果将对象添加到EntitySet,它将负责在Added对象上分配适当的关系属性。