Код EF 4.1 Первое добавление в коллекцию внешних ключей - PullRequest
0 голосов
/ 24 марта 2011

Если у меня есть объект со свойством коллекции для другого объекта.Каков наилучший способ добавить новую сущность и связанные с ней сущности?Проблема, с которой я столкнулся, состоит в том, что коллекция изначально имеет значение null.

            var form = new Form()
            {
                Name = "TestForm"
            };
            ctx.Forms.Add(form);

            var formField = new FormField()
            {
                Name = "TestField"
            };
            form.FormFields.Add(formField);

            ctx.SaveChanges();

Приведенное выше свойство form.FormFields имеет значение null, поэтому я получаю исключение.Я знаю, что мог бы установить отношения в другом направлении, но я не определил свойство Form в FormFields (и я на самом деле не хочу).

Так, какое самое чистое решение для этого?

1 Ответ

0 голосов
/ 25 марта 2011

Самое простое решение - инициализировать коллекцию так:

var form = new Form() {
  Name = "TestForm"
  };
ctx.Forms.Add(form);
var formField = new FormField() {
  Name = "TestField"
};
if(form.FormFields == null)
  form.FormFields = new List<FormField>();
form.FormFields.Add(formField);
ctx.SaveChanges();
...