将以下Order
对象视为实体框架实体。
Order
如果我要将down的实例强制转换为IOrder
,然后访问 上的Lines
属性IOrder
,这是否会导致虚拟OrderLines
属性枚举并加载OrderLine
数据库中的所有实体,从而返回内存中填充的 OrderLine 实体集合?
还是客户端代码只是获取对 OrderLines 集合的引用,一旦它被实际枚举(例如在 foreach 中),它将从数据库中加载实体?
public interface IOrder
{
IEnumerable<OrderLine> Lines { get; }
}
public class Order : IOrder
{
public int OrderId { get; set; }
public IEnumerable<OrderLine> Lines
{
get
{
return OrderLines;
}
}
public virtual ICollection<OrderLine> OrderLines { get; set; }
public Order()
{
OrderLines = new List<OrderLine>();
}
}