3

既定では、コレクションに少なくとも1つのアイテムがない限り、Entity Framework Code FirstはICollection<T>プロパティのインスタンス化を無視しています。アイテムが存在しない場合、nullではなく、コレクションが常に空のHashSet(つまりアイテムがゼロのアイテムHashSet)であることが保証されていることが大切です。EFコードICollection <T>のプロパティをnullではなく空のコレクションにするための最初の規則?

これを有効にするEFコードのコンベンションまたは設定はありますか?エンティティのコンストラクタで

答えて

10

はただのコレクションをインスタンス化設定:

public sealed partial class EntityClass 
{ 
    [SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors", 
     Justification = "EF 4.1 requires them to be virtual, and RIA Services requires the collections to be instantiated.")] 
    public EntityClass() 
    { 
     OtherEntities = new List<OtherEntity>(); 
    } 

    public virtual ICollection<OtherEntity> OtherEntities { get; set; } 
} 

抑制メッセージは、FxCopのためにそこにあります。

+0

賢い、ありがとう! – devuxer

関連する問題