我正在使用 EF4.3。这是我的第一个项目,所以我边走边学。
在某些情况下,我需要为实体实现额外的构造函数。我创建了一个额外的部分类来执行此操作,因此实体用户将具有关联的类 User2。
我注意到 EF 总体上不会创建构造函数,但是有这样的实例:
public partial class User
{
public User()
{
this.BookmarkedDeals = new HashSet<BookmarkedDeal>();
this.BookmarkedStores = new HashSet<BookmarkedStore>();
}
public System.Guid UserId { get; set; }
public int UserStatusId { get; set; }
public int UserRoleId { get; set; }
public System.DateTime CreatedOn { get; set; }
public System.DateTime LastVisitedOn { get; set; }
public virtual ICollection<BookmarkedDeal> BookmarkedDeals { get; set; }
public virtual ICollection<BookmarkedStore> BookmarkedStores { get; set; }
public virtual Subscriber Subscriber { get; set; }
}
这让我有点担心,因为它很容易通过设计器添加导航属性,而基本构造函数中的代码错过了。
public User()
{
this.BookmarkedDeals = new HashSet<BookmarkedDeal>();
this.BookmarkedStores = new HashSet<BookmarkedStore>();
}
我的问题是,我是否需要从我的其他构造函数中调用基本构造函数,我是否应该将代码(:this User())在所有情况下调用我的基本构造函数作为保障?