請考慮以下Order
對象作爲實體框架實體。是否將Entity Framework對象中的虛擬IList枚舉爲IEnumerable枚舉?
如果我是投的Order
實例下來IOrder
,然後訪問IOrder
的Lines
財產,是否會導致虛擬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>();
}
}
我不明白你的問題。它看起來像兩個要求同樣的事情,但與「或」連接。 –
對不起拉迪斯拉夫,我重新閱讀時看到了含糊不清的地方。我已經改變了這個問題,所以希望現在對你更有意義。 – Chris