Entity Framework Code First - возможно ли заставить EF автоматически инициализировать коллекции дочерних сущностей? - PullRequest
1 голос
/ 11 февраля 2012

Предположим, у меня есть эти в моей модели:

public class Foo {
 public virtual Guid Id {get; set; }
 public virtual ICollection<Bar> Bars { get; set; }
}
public class Bar {
 public virtual Guid Id {get; set; }
 public virtual Guid FooId {get; set; }
 public virtual Foo Foo {get; set; }
}

Есть ли способ заставить EF автоматически создавать коллекцию Foo.Bars при создании нового Foo и добавлении бара?

var foo = dbContext.Foos.Create();
foo.Bars.Add(new Bar());

Я понимаю, что могу инициализировать коллекцию самостоятельно (либо в конструкторе Foo, либо когда я ее создаю, но мне интересно, есть ли способ заставить EF сделать это.

1 Ответ

1 голос
/ 11 февраля 2012

Framework не предоставляет ничего готового для этого.Вы должны написать свой собственный метод для этого.

public class FooService
{
    ......

    Public Foo Create()
    {
        var foo = dbContext.Foos.Create();
        foo.Bars.Add(new Bar());

        return foo;
    }

    .......
}
...