Добавление коллекции объектов в Entity Framework - PullRequest
0 голосов
/ 26 октября 2010

У меня есть тип коллекции доменов под названием SavedAnswers, и я хотел бы добавить эту коллекцию в мои записи типа Entity Framework. Я пытался понять, что мне нужно делать, но я запутался во всей информации.

Ответы имеют первичный ключ идентификации и два внешних ключа, что приносит больше проблем / вопросов.

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

        db.SaveChanges();
    }

1 Ответ

2 голосов
/ 26 октября 2010

Ваш код выглядит хорошо, за исключением того, что вы не должны использовать сгенерированный фабричный метод для вашего 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 будет установлено значение Added .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...