将对象集合添加到Entity Framework

时间:2010-10-25 23:16:48

标签: wcf entity-framework

我有一个名为SavedAnswers的域名集合类型,并希望将该集合添加到我的Entity Framework类型条目中。我一直想弄清楚我需要做什么,但我对所有信息感到困惑。

Answers有一个身份主键和两个外键,带来更多问题。

    public void AddEntries(List<SavedAnswers> answers)
    {
        foreach (var item in answers)
        {
            db.Entries.AddObject(Entries.CreateEntries(1, item.QuestionId, item.AnswerId));
        }

        db.SaveChanges();
    }

1 个答案:

答案 0 :(得分:2)

您的代码看起来不错,但您不应在 Entry 对象上使用生成的工厂方法。相反,只需通过构造函数创建它并使用对象初始化程序填充它:

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 及其 EntityState 将设置为已添加