仍然习惯于实体框架,但我看到下面的代码,他们在实体中拥有私人设置器。为什么要在实体中使用私人设置器
public int Id { get; private set; }
public string FirstName { get; set; }
public string LastName { get; set; }
为什么有些人应该有私人二传手。这个ID字段无论如何都是在数据库中自动生成的,并且这是它被设置为私有的原因吗?
另外为什么我们需要像下面的实体中的私有构造函数和公共构造函数?
private Emp() { }
public Emp(string name, string lastname)
{
FirstName = firstname;
LastName = lastname;
}
哦,所以它必须有私人和公共构造? – Happy
@Happy,没有必要让EF的_parameterless_构造函数能够创建实体。它可以是私人的或公共的,这并不重要。所有其他构造函数都是可选的。通常人们只是创建一个公共无参数构造函数(或者根本没有构造函数 - 然后自动生成无参数构造函数)。但在您的示例中,作者希望在不提供姓氏和名字的情况下创建新的Emp(以便开发人员不会忘记这么做),因此您有两个构造函数,其中一个是私有的。 – Evk
你的意思是它不是强制性的? – Happy