0

Nugetとして利用可能な最後のEntity Framework RCでIObjectWithChangeTrackerを実装する自己追跡エンティティを使用しています。ターゲット データベースは PostgreSQL です。また、Code First fluent API を使用してモデルを構築し、LINQ to Entity を使用してデータベースのクエリを実行しています。

驚いたことに、エンティティに対する単純な SELECT クエリは、データ テーブルに存在しない不思議な列ChangeTracker_ChangeTrackingEnabledを含む SQL クエリを生成します。EntityTypeConfiguration 派生クラスがエンティティ プロパティをコンストラクターのデータテーブル列にマップしているように思われるため、この動作がわかりません。

この動作を無効にする方法はありますか、または少なくとも変更トラッカーによってどの列をマップする必要があるかを伝える方法はありますか?

そのためには、Context.Configuration.AutoDetectChangesEnabled = falseまたはEntityTypeConfiguration 派生オブジェクトでのIsConcurrencyToken()マッピングの呼び出しは役に立ちません。

どんな助けでも感謝します。

ティア。

4

1 に答える 1

0

NotMappedプロパティを属性でマークするかIgnore、流暢な API で使用することにより、マッピングで回避したいすべてのパブリック プロパティについて EF に通知する必要があります。

ところで。私が知っているように、STEはコードファーストまたはDbContext APIで使用するように設計されていません。

于 2012-06-20T09:05:41.473 に答える