如何在Database First中创建Discriminator列

时间:2015-06-02 19:55:19

标签: c# sql-server entity-framework

我的应用程序和实体框架的数据库优先方法。我有一个许多其他类继承的基类。我试图将类保存到我的EF数据库,但是,我一直收到错误,没有Discriminator列。

  

System.Data.SqlClient.SqlException:无效的列名称' Discriminator'。

由于我使用的是Database First,如何在表格中手动创建此列?我似乎无法在任何地方找到它的数据类型。

1 个答案:

答案 0 :(得分:0)

实体框架会尝试检查所有派生类中的列(不知道继承是什么?)。您可以尝试将[NotMapped]属性添加到子类中。

[NotMapped]
public class ChildClass : ParentClass {
    // other stuff here
}

这可以最大限度地减少您的问题。此属性告诉实体框架,不需要映射哪些属性(,如果应用于字段)或类。阅读更多相关信息:https://msdn.microsoft.com/en-us/data/jj591583.aspx?f=255&MSPPError=-2147217396#NotMapped