父类中的属性 - 可能更改子项中的属性名称?

时间:2015-08-30 05:21:28

标签: c# entity-framework

我正在修改现有代码。我们有一个基类,大约有10个类继承。基类有public long Id { get; set; }。现在是提及子类是所有实体框架模型的好时机,因此Id成为自动生成的主键。

我现在需要添加具有一对一关系的表格。我在考虑如何覆盖“Id”,但似乎没有任何东西 - 抽象或虚拟都不允许你更改名称。

我唯一的选择是完全删除Id属性并在每个子类中单独实现它,假设我想要重命名它SomethingId(“Something”是一对一表的PK是什么) 。

1 个答案:

答案 0 :(得分:1)

如果你想在子课程中重命名,你可以......

public class Child : Parent {

    public ChildID { 
        get { return base.Id; }
        set { base.Id = value; }
    }

}

如果您希望隐藏Id属性,或者要应用[NotMapped]等属性,则可能需要覆盖Id属性。