首页 新闻 会员 周边

code first for oracle,migration后,pl/sql中可以看到表,查询数据却提示表不存在。。

0
悬赏园豆:20 [已关闭问题] 关闭于 2017-02-22 11:43

使用update-database命令后会提示对象以存在,从oracle中把table删了重新update又会报这个错.

pl/sql中可以看到表,查询数据却提示表不存在。。

请问这个问题怎么解决啊.

又沙又甜的主页 又沙又甜 | 初学一级 | 园豆:120
提问于:2017-02-22 11:03
< >
分享
所有回答(3)
0

update后commit了么?

Ctrl` | 园豆:3317 (老鸟四级) | 2017-02-22 11:09

PMC命令中,update-basedata就代表commit了。谢谢回答,问题已经解决了。

EF CODEFIRST 创建table过程中,会创建相应的sequence,我重新migration的时候,只删了table没删sequence,所以报对象存在的错误(对象指的是sequence)。

第二问题,查询创建好的table,pl/sql提示table不存在,解决方法是,要生成table的类名(table名)和属性名(table字段名)都必须是大写,并且,EF生成的migration文件也需要改一下,因为虽然我们把类名改成大写了,但在EF生成的table名中,最后一个字母是默认为小写的,我们把它改成大写就可以了。

支持(0) 反对(0) 又沙又甜 | 园豆:120 (初学一级) | 2017-02-22 11:41
0

EF CODEFIRST 创建table过程中,会创建相应的sequence,我重新migration的时候,只删了table没删sequence,所以报对象存在的错误(对象指的是sequence)。

第二问题,查询创建好的table,pl/sql提示table不存在,解决方法是,要生成table的类名(table名)和属性名(table字段名)都必须是大写,并且,EF生成的migration文件也需要改一下,因为虽然我们把类名改成大写了,但在EF生成的table名中,最后一个字母是默认为小写的,我们把它改成大写就可以了。

又沙又甜 | 园豆:120 (初学一级) | 2017-02-22 11:42

__MigrationHistory table也需要删除。

支持(0) 反对(0) 又沙又甜 | 园豆:120 (初学一级) | 2017-02-22 11:44
0

把 __MigrationHistory 表中的数据也删除试试

dudu | 园豆:30994 (高人七级) | 2017-02-22 11:42

感谢dudu回答,是的,__MigrationHistory table也需要删除。

支持(0) 反对(0) 又沙又甜 | 园豆:120 (初学一级) | 2017-02-22 11:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册