如何处理EF中用于复制的rowguid
本文关键字:用于 复制 rowguid EF 何处理 处理 | 更新日期: 2023-09-27 17:54:34
我有一些麻烦,试图在我们的数据库中[INSERT/UPDATE]记录,因为我们已经实现了复制场景。(SQL SERVER 2012)
当我尝试保存一个实体时,我得到这些消息:
不允许使用rowguidcol属性更新列。
事务在触发器中结束。
有时这个
不能在对象'dbo '中插入重复的键行。具有唯一索引"MSmerge_index_1345596032"的作业。重复键值为(0000000 -0000000 -0000000 -000000000000)。
我有点失去了如何生成edmx模型,没有它在实体中有rowguid。
保存
的模式 var entry = db.Entry(job);
entry.State = (job.JobId == 0) ? EntityState.Added : EntityState.Modified;
db.SaveChanges();
return entry.Entity.JobId;
我如何使用Ef和复制而不疯狂的rowguid?
更新:
我在模态浏览器中设置了StoreGeneratedPattern的rowguid属性到Identity,它似乎又起作用了,但我不知道这样做的影响。
用EF处理Replication的最好方法是什么?
您的开发数据库不能配置为复制场景,您应该能够映射没有rowguid列的数据库,向DBA请求数据库备份,然后在不保留复制设置的情况下恢复它。使用rowguid
尝试更改您的模型图(.edmx),其中您必须将StoreGeneratedPattern属性从"None"更改为"Computed"。