实体框架4.1代码优先-应该初始化许多关系集合吗?

本文关键字:许多 初始化 关系 集合 框架 代码 实体 | 更新日期: 2023-09-27 17:50:32

在实体框架4.1中,当创建POCO时,应该对类进行编码以初始化许多关系,还是有一些理由允许实体框架控制这些属性?

public class Portfolio
{
    private ICollection<Visit> _visits;
    public virtual ICollection<Visit> Visits
    {
        get
        {
            if (_visits == null)
            {
                _visits = new List<Visit>();
            }
            return _visits;
        }
        set
        {
            _visits = value;
        }
    }
}

public class Portfolio 
{
    public virtual ICollection<Visit> Visits
    {
        get;
        set;
    }
}

还有更好的模式吗?

实体框架4.1代码优先-应该初始化许多关系集合吗?

第一个版本是正确的。当你创建一个新的实体时,它将允许你初始化集合,但同时,它将允许EF在物化从DB加载的实体时初始化集合,并通过动态代理进行延迟加载。