我首先在EF数据库中遇到以下情况:
public class BaseClass
{
[Key]
public int Id {get;set;}
/* other properties */
}
public class DerivedClass : BaseClass
{
[NotMapped]
public int Id {get;set;}
[Key]
public int DerivedId {get;set;}
/* other properties */
}
此时,上面的代码无效,因为我尝试取消映射Id属性,将DerivedId声明为键。有一个解决方案吗?我知道最好的解决方案是将DerivedId列重命名为数据库中的Id,但我不能这样做,因为数据库已经存在于第三方并且无法修改。
如果我没错,在EF 4.x中缺少这种方法,我发布这个希望它是在5.0中用.NET 4.5实现的。
谢谢, 利西
答案 0 :(得分:0)
您是否可以创建一个引用基类中Id的新属性?
[NotMapped]
public int DerivedId
{
get { return Id; }
set { Id = value; }
}