.net mvc 列名 'Discriminator' 无效
2024-08-26 11:30:25
环境: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
{ }
转自:https://blog.csdn.net/ycwol/article/details/45153663
最新文章
- 洛谷10月月赛Round.1| P3398 仓鼠找sugar[LCA]
- 最为简易的yii 教程(一)
- 如何用photoshop把图片白色背景变成透明?
- Code Review 五问五答
- OpenTSDB介绍——基于Hbase的分布式的,可伸缩的时间序列数据库,而Hbase本质是列存储
- HDU 4647 Another Graph Game 思路+贪心
- 元数据metadata 对IO有多大影响
- Spark on Yarn遇到的问题及解决思路
- Java中遍历Map的几种方法
- 命名空间引用问题 包括找不到ConfigurationManager 这个类
- Bootstrap 响应式瀑布流 (使用wookmark)
- 题目要求:建立一个类Str,将一个正整数转换成相应的字符串,例如整数3456转换为字符串";3456";.
- 每天学一点Docker(4)-深入了解容器概念
- 【Python】 字符串的相关小知识点
- SharePoint Framework 基于团队的开发(二)
- django中文学习资料
- <;第一站>;人生的第一个博客
- Python字符串拼接的6种方法(转)
- rabbitmq channel参数详解
- Windows下的搜索神器 &mdash;&mdash; everything