大多数(如果不是全部的话)我的实体框架POCO具有虚拟功能。我需要这些函数是虚拟的,以便实体可以被延迟加载。如何避免在构造函数中调用虚函数?
如果我在构造函数中初始化Accommodations
那么我将在构造函数中调用虚函数,这是不好的做法。
但是如何在构造函数中初始化Accommodations
?
public class Venue
{
public Venue()
{
Accommodations = new HashSet<Accommodation>();
}
public virtual ICollection<Accommodation> Accommodations { get; set; }
}
懒加载的一点是_not_在所有初始化,直到第一次使用。 –
@JohnWillemse如果我让它为空,我会在我看来得到null异常。 –
不,你测试null并在需要时初始化它。请参阅下面的Willem Duncan的回答以获得使用证明。也许我们在这里混淆了不同的模式,根据丹尼尔对同样的答案的评论。 –