首页 新闻 搜索 专区 学院

EntityFramework4.3.1问题

0
悬赏园豆:20 [待解决问题]

以前用EntityFramework4.0.0的时候实体类对应一个数据库的一个表,表与表的关系在实体类中用如:public virtual Role Role { get; set; }而在EntityFramework4.3.1下却总出现运行错误,说某列名无效,而这个列名在在数据库和代码中并不存在。请问是怎么回事?在EntityFramework4.3.1中在代码中表示表与表之间的关系?

bluefirework的主页 bluefirework | 初学一级 | 园豆:18
提问于:2012-06-26 23:22
< >
分享
所有回答(5)
0

”而这个列名在在数据库和代码中并不存在“  如果你添加这个列名到数据库的相对应的表呢?你的映射关系是怎么样的?

Angkor--:-- | 园豆:1086 (小虾三级) | 2012-06-26 23:30

我的意思是它报错报的是一个好像是自动生成的一个列名,而我的实体类和数据库的字段是完全对应的。实体只多了一个虚拟类如:public virtual Role Role { get; set; }

支持(0) 反对(0) bluefirework | 园豆:18 (初学一级) | 2012-06-27 09:37

@bluefirework: "实体只多了一个虚拟如:public virtual Role Role { get; set; }" 是不是这个类存在什么继承关系,导致映射不对?

为什么不用它自己生生的映射关系(类)

支持(0) 反对(0) Angkor--:-- | 园豆:1086 (小虾三级) | 2012-06-27 09:42

@Angkor: 这个是映射Role表,运行的时候提示列名'Role_RoleID'列无效,而我Role表定义的主键是RoleID,根本就没有'Role_RoleID'不知道是不是有什么规则,抓狂了

支持(0) 反对(0) bluefirework | 园豆:18 (初学一级) | 2012-06-27 20:00

@Angkor: Sql Profiler跟踪一下,看看生成的SQL语句是什么东西!!

诡异的问题,让人很蛋疼。。。。呵呵

支持(0) 反对(0) Angkor--:-- | 园豆:1086 (小虾三级) | 2012-06-27 21:01
0

可以是实体映射关系没有定义好

dudu | 园豆:38823 (高人七级) | 2012-06-27 10:53
0

可以把映射删除了,重新映射回,应该就好了。

jerry-Tom | 园豆:4077 (老鸟四级) | 2012-06-27 11:01
0

把代码发上来看一下吧。

Allen Li | 园豆:259 (菜鸟二级) | 2012-07-05 12:35
0

仁兄:你把你这个问题解决了没?

江宁织造 | 园豆:71 (初学一级) | 2013-03-27 18:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册