笔记:EF出现列名 'Discriminator' 无效类没有加入数据库上下文也被数据迁移生成表

Posted 虚若影

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了笔记:EF出现列名 'Discriminator' 无效类没有加入数据库上下文也被数据迁移生成表相关的知识,希望对你有一定的参考价值。

笔记:

EF出现列名 ‘Discriminator‘ 无效;

类没有加入数据库上下文也被数据迁移生成表;

出现该问题一般是使用了某个基类继承了实体类;

原因是code first的POCO实体对象的继承问题,EF会把项目中在DbContext中引用的所有的Model类及这些Model类对应的子类都生成对应映射视图。如果数据库没有对应表或字段就会报错。

解决办法:只需要在类前面加上[NotMapped],表示应从数据库映射中排除属性或类。

  1. [NotMapped]
  2. public class Comment : MComment
  3. {}

以上是关于笔记:EF出现列名 'Discriminator' 无效类没有加入数据库上下文也被数据迁移生成表的主要内容,如果未能解决你的问题,请参考以下文章

MySQL查询出现重复列名,重复列只保留最后一列

学习笔记39_EF的DAL层(精)

学习笔记11 EF查询相当于sql 中的 where in

mybatis plus Unknown column 'fieldame' in 'field list' 出现了列名找不到的问题

使用 Linq to Entities (EF6) 动态选择列名

EF Core,禁用外键列名生成