単純な 1 対多の関係を持つ 2 つのエンティティを作成しました。
public class TestEntity
{
public int Id { get; set; }
public string Message { get; set; }
public virtual ICollection<RelatedTest> RelatedTests { get; set; }
}
public class RelatedTest
{
public int Id { get; set; }
public bool Something { get; set; }
public virtual TestEntity TestEntity { get; set; }
}
これをテストすると、ICollection
ナビゲーション プロパティがインスタンス化されません。関連エンティティを追加できません。
var dataContext = new DataContext();
var testEntity = new TestEntity { Message = "Test message" };
var related = new RelatedTest { Something = true };
testEntity.RelatedTests.Add(related); //fails on this line because RelatedTests is null.
dataContext.TestEntities.Add(testEntity);
dataContext.SaveChanges();
それは期待される機能ですか?ナビゲーション プロパティをインスタンス化する必要がありますか? Entity Framework がコレクションをインスタンス化することを期待していました。