忽略基类属性并在EntityFramework中包含派生类中的新属性

时间:2018-01-29 13:05:52

标签: c# entity-framework serialization

我有一个我希望扩展的基类,以便添加和/或修改一些现有属性,以便将其序列化为SQL数据库。

特别是,我有一个非平凡的属性,我想序列化为字符串:

public class BaseClass {
    public NonTrivialType Id {get;set;}
}

因此,我想在这个派生类中重新声明一个具有相同名称的新属性:

public class DerivedClass : BaseClass {
    public new string Id {get;set;}
}

这样,EntityFramework会在我的DbContext的OnModelCreating函数中使用以下配置将其选中并序列化并将其用作键:

modelBuilder.Entity<DerivedClass>().ToTable("MyTable").HasKey(_ => _.Id)

但是,我得到了验证异常,这意味着EF没有做我想让他做的事情。

我的目的是“隐藏”原始声明并仅显示/序列化新声明。这甚至可能吗?

0 个答案:

没有答案