我有一个我希望扩展的基类,以便添加和/或修改一些现有属性,以便将其序列化为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没有做我想让他做的事情。
我的目的是“隐藏”原始声明并仅显示/序列化新声明。这甚至可能吗?