实体框架4和SQL Server 2008 R2更改数据捕获效果不佳
题
当我尝试将这两个功能一起使用时,我会在模型上遇到汇编错误(请注意,我将_CT表“ content History”的实体重命名为“ contenthistory”,而我的SL4单元测试项目称为“ domainservices.unittest”:
Error 39 Property 'DomainServices.Web.ContentHistory.C___seqval' is marked as a key
property and is of Type 'System.Byte[]', which is not a supported type for a key member.
DomainServices.UnitTests
这里有没有人获得疾病预防控制中心和EF4来很好地一起玩?
解决方案
好的,这是我为解决这个问题所做的工作。我确保我想启用CDC的每张桌子都有一个 LastModified
类型列 datetime
. 。然后,我添加了一个密钥(从EF的角度来看),由 LastModified
列和 __$operation
柱子。我认为这是“可能的独特”(这有点令人恐惧,但可能还可以)。我的理由是 LastModified
准确至3毫秒,因此(实际上)我唯一的一次在CDC表中获得2行 LastModified
正在更新;但是,在更新中,这两行将具有不同的 __$operation
值(A 3和A 4)。因此,将它们加重在一起至少使钥匙有意义。我不是这样的忠实拥护者,并希望EF4能在没有钥匙的情况下支持桌子。如果有人有建议,请告诉我。
不隶属于 StackOverflow