EF Code First约定允许collection <属性设置为空集合而不是null

本文关键字:集合 空集 null 设置 属性 约定 First Code collection EF | 更新日期: 2023-09-27 18:17:03

我注意到,默认情况下,实体框架代码首先忽略实例化ICollection<T>属性,除非集合中至少有一个项目。我更倾向于保证集合始终是空的HashSet(即,没有项的HashSet),而不是没有项存在的null

是否有任何约定或设置EF Code First来启用这个?

EF Code First约定允许collection <属性设置为空集合而不是null

在实体的构造函数中设置实例化集合:

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的抑制信息