ExecuteFunction が NoTracking オプションで MergeOption パラメータを使用するように、ストアド プロシージャを Entity Framework にマップする方法はありますか?
質問する
468 次
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 に答える