entity framework4.1代码优先 – 应初始化许多关系ICollections

在Entity Framework 4.1中创建POCO时,是否应该对类进行编码以初始化Many关系,或者是否有某些理由允许Entity Framework控制这些属性?

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

要么

 public class Portfolio { public virtual ICollection Visits { get; set; } } 

还有更好的模式吗?

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