我有一個的EntityFramework物體的集合,例如:的EntityFramework CodeFirst實例化集合
public class User
{
public virtual ICollection<Page> Pages { get; set; }
}
什麼是最好的做法 - 離開它這樣或構造函數實例集。如果(或別的東西嗎?)我實例化集合到一個默認的空白列表如下:
public class User
{
public virtual ICollection<Page> Pages { get; set; }
public User()
{
Pages = new List<Page>();
}
}
然後我得到的DevExpress /代碼分析警告有關在構造函數中實例化虛擬財產 - 有沒有做這樣危險嗎?
這個工作,如果你的對象是預先存在的,但什麼時候你最初是在創建你的對象?如果每個對象都沒有在構造函數中實例化,那麼當手動創建對象時,您必須在繼承鏈中實例化所有集合,或者在執行LINQ查詢之前檢查每個ienumerable是否爲空? – William