我正在修改现有代码。我们有一个基类,大约有10个类继承。基类有public long Id { get; set; }
。现在是提及子类是所有实体框架模型的好时机,因此Id成为自动生成的主键。
我现在需要添加具有一对一关系的表格。我在考虑如何覆盖“Id”,但似乎没有任何东西 - 抽象或虚拟都不允许你更改名称。
我唯一的选择是完全删除Id属性并在每个子类中单独实现它,假设我想要重命名它SomethingId(“Something”是一对一表的PK是什么) 。
答案 0 :(得分:1)
如果你想在子课程中重命名,你可以......
public class Child : Parent {
public ChildID {
get { return base.Id; }
set { base.Id = value; }
}
}
如果您希望隐藏Id属性,或者要应用[NotMapped]
等属性,则可能需要覆盖Id属性。