0

ExecuteFunction が NoTracking オプションで MergeOption パラメータを使用するように、ストアド プロシージャを Entity Framework にマップする方法はありますか?

4

1 に答える 1

0

T4 テンプレート ファイルを更新して、「MergeOption.NoTracking」を 2 番目のパラメータとして追加できます。次に、.edmx を右クリックし、[カスタム ツールの実行] を選択します。

これは簡単な回避策ですが、より長期的な解決策も知りたいです。これが唯一の解決策である場合、デフォルトの T4 テンプレートを更新して、これが新しい EntityModels で自動的に行われ、保存されるようにすることはできますか。

{EnitityModel}.Context.tt 行 290:

"return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction{0}(\"{1}\", MergeOption.NoTracking{2});",

リポジトリコンストラクターで次を設定していましたが、MergeOption の方がクリーンなようです

context = new Entities();
context.Configuration.AutoDetectChangesEnabled = false;
context.Configuration.ValidateOnSaveEnabled = false;
于 2013-02-14T06:59:13.817 に答える