0

我首先在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 中缺少这种方法,我发布这个希望它是在 .NET 4.5 的 5.0 中实现的。

谢谢,立西

4

1 回答 1

0

您可以在基类中创建一个引用 Id 的新属性吗?

[NotMapped]
public int DerivedId
{
    get { return Id; }
    set { Id = value; }
}
于 2012-08-08T14:33:17.017 回答