今天保存对象时碰到问题:
{"列名 'Discriminator' 无效。\r\n列名 'Discriminator' 无效。"}
 百度了一下,百度找到的一个解决:
 内容:
环境:asp.net 4.0 + MVC 4 + Entity Framework 5
异常:使用code first 碰到错误:列名 'Discriminator' 无效。这是一个很少见的错误,搜索了很久才发现是code first 的poco实体对象的继承问题。
比如,我定义了一个实体类,对应数据库的Project表:
public class Project { int Id { get; set; } string Name { get; set; } }
后来又定义了一个子类ChildProject继承于它,但是子类不对应数据库任何表:
public class ChildProject : Project { }
于是每次EF的Context访问到Project或者ChildProject的时候,都出现了错误:列名 'Discriminator' 无效。
解决办法:子类并不映射到任何数据库,加上一个不映射的属性[NotMapped]就可以了。
[NotMapped] public class ChildProject : Project { }
 
 
总的意思就是由于继承,导致context无法识别子类,造成错误。
在继承的类上加上[NotMapped]就行了
还有其他的出错可能,有一种是由于父类有好几个继承的子类,其中一个忘记添加了映射导致。
至于其他的可能,碰到再说

保存对象时碰到的问题-列名 'Discriminator' 无效的更多相关文章

  1. EF code first出现错误:列名 Discriminator 无效

    转载:https://blog.csdn.net/lanse_my/article/details/38128355 前几天使用code first碰到错误:列名 'Discriminator' 无效 ...

  2. .net mvc 列名 'Discriminator' 无效

    环境:asp.net 4.0 + MVC 4 + Entity Framework 5异常:使用code first 碰到错误:列名 'Discriminator' 无效.这是一个很少见的错误,搜索了 ...

  3. 关于SessionFactory的不同实现类分别通过getCurrentSession()方法 和 openSession() 方法获取的Session对象在保存对象时的一些区别

    一.单向多对一关联关系 一).使用LocalSessionFactoryBean类,即在applicationContext中配置的 <!-- 配置SessionFactory 使用LocalS ...

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

    笔记: EF出现列名 'Discriminator' 无效: 类没有加入数据库上下文也被数据迁移生成表: 出现该问题一般是使用了某个基类继承了实体类: 原因是code first的POCO实体对象的继 ...

  5. EF Code First列名 'Discriminator' 无效的问题

    新建了一个类继承EF  Model类,运行报错 EF Code First列名 'Discriminator' 无效 EF会把项目中在DbContext中引用的所有的Model类及这些Model类对应 ...

  6. EF code first:列名 'Discriminator' 无效

    使用EF code first编写类继承的时候,出现列名 'Discriminator' 无效 . 字段中没有列名 'Discriminator' 原来在代码中,定义了一个类A,类B,B继承A,但是数 ...

  7. 列名 'Discriminator' 无效 解决方案

     {"列名 'Discriminator' 无效.\r\n列名 'Discriminator' 无效.\r\n列名 'Discriminator' 无效.\r\n列名 'FileUrl' 无 ...

  8. CPP-STL:用vector保存对象时保存指针的优点, 以及reserve的使用(转)

    代码1 #include <vector> #include <stdio.h> class A { public: A() { printf("A()/n" ...

  9. 转载:用vector保存对象时保存指针的优点, 以及reserve的使用

    #include <vector> #include <stdio.h> class A { public: A() { printf("A()/n"); ...

随机推荐

  1. 事件的监听是由awt完成的

    学swing 之前先学awt ,因为awt 是Java实现图形界面的基础. 它能够完成编写界面的基本功能,最重要的是,事件的监听是由awt完成的. 而swing是在awt基础上提供的新的界面工具包,它 ...

  2. MySQL中information_schema是什么

    转载地址:http://help.wopus.org/mysql-manage/607.html 大家在安装或使用MYSQL时,会发现除了自己安装的数据库以外,还有一个information_sche ...

  3. springboot form 提交集合 list

    前端代码: function btnSubmit(data) { var url = $('form').attr("action"); $.ajax({ url: url, ty ...

  4. [原创] MSP430G2系列图形化编程相关资料

    1.TI官方工具GRACE以及CCS介绍以及下载地址:http://www.ti.com.cn/tool/cn/grace 2.教程资料: ①手把手教你使用GRACE:   http://www.do ...

  5. 使用iftop监控网卡实时流量

    Iftop工具主要用来显示本机网络流量情况及各相互通信的流量集合,如单独同哪台机器间的流量大小,非常适合于代理服务器和iptables服务器使用,这样可以方便的查看各客户端流量情况.iftop可以在类 ...

  6. Ubuntu一般软件安装后的路径

    Ubuntu一般安装的软件查找路径: computer/usr/local/

  7. 理解端口与IP

    理解IP和端口 端口,端口号,服务器端口------百科

  8. 管道符和作业控制 shell变量 环境变量配置文件

    8.6 管道符和作业控制 8.7/8.8 shell变量 8.9 环境变量配置文件 管道符和作业控制 管道符:表示把一个文件的输出内容传送到后面的命令 grep  用来过滤指定关键词的命令 “|” 为 ...

  9. maven添加本地jar到本地库中

    maven添加本地jar到本地库中(用于远端地址下载不了的情况) 在dos命令行执行以下命令将会吧ojdbc14-10.2.0.4.0.jar添加到本地库中(ps:必须已经安装了,maven,并配置了 ...

  10. IBM Personal Communications 软件:精简绿色版TN3270终端模拟器:经测试可以在 (winxp、win2003、win764)上运行

    全系列版本啊!耗费了我大量的时间和精力,深夜熬到3点! 注意:如何使用?解压后,里面有个reg注册表文件,以管理员权限用户双击加载即可. http://files.cnblogs.com/files/ ...