码迷,mamicode.com
首页 > 其他好文 > 详细

列名 'Discriminator' 无效

时间:2015-04-20 18:28:46      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:.net   mvc   

环境: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
{

}


列名 'Discriminator' 无效

标签:.net   mvc   

原文地址:http://blog.csdn.net/ycwol/article/details/45153663

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!