我目前有两个具有以下属性的类。 Class1 与 Class2 相关,并通过2个外键链接。
public class Class1
{
public int Id { get; set; }
public string Title { get; set; }
public int OwnerId { get; set; }
public int ModifiedById { get; set; }
public User User { get; set; }
}
public class User
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
我有几个问题:
我应该只声明用户类一次,还是应该为 OwnerId 声明一个,为 ModifiedById 声明一个?像public virtual User Owner
和public virtual User ModifiedBy
?
最佳做法是使用公共虚拟,还是应该使用其他访问修饰符?
答案 0 :(得分:0)
我应该只声明一次User类,还是应该为OwnerId声明一个,为ModifiedById声明一个?像公共虚拟用户所有者和公共虚拟用户ModifiedBy?
是的,您应该以这种方式管理代码,并且更容易理解Table1以两种不同的方式与Tabel2相关联,用于两种不同的目的。一个表示所有者的外键,另一个表示修改记录的用户。
使用public virtual是最佳做法,还是应该使用其他访问修饰符?
这取决于你的要求,如果你想让你的实体懒得加载,你应该将它定义为虚拟,因为实体框架将覆盖你标记为虚拟的相关实体,当你点击它时会懒惰地加载。< / p>