在Entity Framework 4.1中创建POCO时,是否应该对类进行编码以初始化Many关系,或者是否有某些理由允许Entity Framework控制这些属性?
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;
}
}
还有更好的模式吗?
答案 0 :(得分:5)
第一个版本是正确的。它允许您在创建新实体时初始化集合,但同时它允许EF在实现从DB加载的实体时初始化集合,并通过动态代理对其进行包装以进行延迟加载。