我有以下代碼。通過覆蓋屬性繼承映射
public class Person
{
public string LastName { get; set; }
}
public class Employee : Person
{
}
隨着配置
Map(p => p.MapInheritedProperties());
Property(p => p.LastName).HasMaxLength(100).IsRequired();
並希望將其更改爲
public class Person
{
public virtual string LastName {get; set;}
}
public class Employee : Person
{
public override string LastName
{
get { return base.LastName; }
set
{
//add validation here or throw exception
base.LastName = value;
}
}
}
如果我運行它說,該模型已被更改應用程序。 好吧,我添加了一個數據庫遷移,但它的錯誤:
屬性'LastName'不是'Employee'類型的聲明屬性。
驗證屬性尚未明確地從模型中通過使用
忽略方法或NotMappedAttribute數據註釋中排除。確保它是一個有效的基本屬性。
我需要添加什麼類型的映射才能工作? 我使用EF 4.3和Migrations。
感謝您的任何提示。
是否級人物真的只有一個屬性名字?當我嘗試重現時,我需要指定一個鍵。 – Maarten
如果'Person'上的'LastName'被聲明爲'virtual',它會有所作爲嗎? – Enigmativity