将对象集合添加到实体框架
问题描述:
我有一个名为SavedAnswers的域集合类型,并希望将该集合添加到我的实体框架类型条目中。我一直在想弄清楚我需要做什么,但是我对所有的信息感到困惑。将对象集合添加到实体框架
答案有一个标识主键和两个外键,这带来了更多的问题。
public void AddEntries(List<SavedAnswers> answers)
{
foreach (var item in answers)
{
db.Entries.AddObject(Entries.CreateEntries(1, item.QuestionId, item.AnswerId));
}
db.SaveChanges();
}
答
你的代码看起来除了你不应该使用生成的工厂方法你进入对象上良好。相反,只是通过构造函数创建它,并与对象初始化填充它:
public void AddEntries(List answers) {
foreach (var item in answers) {
db.Entries.AddObject(new Entry()
{
QuestionId = item.QuestionId,
AnswerId = item.AnswerId
});
}
db.SaveChanges();
}
当您使用ObjectSet.AddObject方法来补充,不要在商店中不存在新创建的对象,该实体将得到一个自动生成的临时的EntityKey及其实体状态将被设置为添加。
+0
它的工作原理!感谢您添加关于EntityKey和状态的解释。 – MisterIsaak 2010-10-26 17:32:22
那么,有什么问题? – 2010-10-25 23:55:02
对不起,我只是不知道我是否以正确的方式进行操作。 – MisterIsaak 2010-10-26 04:11:21
是的,除了我在答案中提到的一件事。 – 2010-10-26 05:25:40