3

これら2つの機能を一緒に使用しようとすると、モデルでコンパイルエラーが発生します(注:_CTテーブルのエンティティの名前を「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

ここの誰かがCDCとEF4を一緒にうまくプレイするようになりましたか?

4

1 に答える 1

0

さて、これがこの問題を回避するために私がしたことです。CDCを有効にするすべてのテーブルLastModifiedにタイプの列があることを確認しましたdatetimeLastModified次に、列と列で構成されるキーを(EFの観点から)追加しました__$operation。これは「おそらくユニーク」だと思います(これはやや恐ろしいですが、おそらく大丈夫です)。私の推論は、LastModifiedが約3ミリ秒の精度であるため、同じものでCDCテーブルに2行を(現実的に)取得LastModifiedするのは更新時だけであるということです。ただし、更新時には、これら2つの行の値は異なり__$operationます(3と4)。したがって、これらを組み合わせることで、少なくともキーの意味が少しわかります。私はこれの大ファンではないので、EF4がキーのないテーブルをサポートすることを望みます。誰かが提案を持っているなら、

于 2010-09-17T13:30:13.027 に答える