Class GeneralRequest
{
String BaseProperty { get set}
}
RapidRequest: GeneralRequest
{
Bool IsSignRequired { get set}
}
BackRequest : GeneralRequest
{
Bool IsSignRequired { get set}
}
OtherRequest: GeneralRequest
{
String Note { get set}
}
这是我项目中的代码结构。
属性IsSignRequired来自BackRequest和RapidRequest,但它不需要进入OtherRequest。
但是当我使用这些代码生成数据库时。
我得到的财产IsSignRequired在我的表中出现了两次 IsSignRequired1 IsSignRequired2等。
如何指定它仅在我的表格中加一次
答案 0 :(得分:1)
您需要拥有另一个srand()
和RapidRequest
继承的中间类,用于定义继承的BackRequest
,或使用IsSignRequired
强制字段的名称。另一种选择是使用ColumnAttribute
继承,但这将为每个子类的唯一字段生成单独的表。
EntityFramework正在执行此操作,因为该字段是在子类上独立声明的。默认情况下,每个子类将获得该类中定义的任何字段的唯一副本,只会共享继承的字段。