仍然習慣於實體框架,但我看到下面的代碼,他們在實體中擁有私人設置器。爲什麼要在實體中使用私人設置器
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