0

oracle 10.4 devart dotConnect - 6.50 ...

MVC2 项目 - 网页

用户填写表格,然后控制器获取新实体并填写。在保存 = 0 之前保存数据库 System_id(它是一个 int/数字 - 所以 no 不能为空)链接的其他几个表,因此它们也有自己的 System_id。当它被保存到数据库时,一些触发器(表有一个存储的触发器,我只能理解为当 system_id=null 被触发时),为 System_id 分配一个新的数字。

这一切都很好。然后我来了,需要一些更新。这个“主”表需要另一个字段(我之前已经将列添加到另一个表,没有问题)

向此“主”表添加列 (restrict_to_me) 现在,当它尝试保存到数据库时 - 它尝试保存“system_id=0”。链接表,也使用 system_id=0 进行记录

在实体框架设计器中 - 我可以看到字段 system_id ENTITY_KEY=true 和 StoredGeneratedPatern=Idenity

因此,除了更新实体框架外,我看不到我为阻止某些东西使用实体框架所做的工作。

任何方向都非常适用

谢谢

4

2 回答 2

0

添加新字段时,是否删除表并重新创建它?

如果你这样做了,那么你同时删除了触发器。所以当你重新创建表时,你还需要重新创建触发器。

尝试仅使用 SQL 语句插入数据,并查看是否生成了 id。

于 2013-03-26T22:23:52.900 回答
0

这是一个实体框架问题,许多人已经遇到过。

不是每次,但有时,在更新模型时,StoredGenereatedPattern 会被放到一个部分中。

http://www.ladislavmrnka.com/2011/03/the-bug-in-storegeneratedpattern-fixed-in-vs-2010-sp1/

在查看修复程序时,不明白 SSDL 和 CSDL 部分都存储在相同的文本中。所以在上面看它有StoredGenereated Pattern。

于 2013-04-05T15:19:45.697 回答