デフォルトでは、Linq To SQL が使用していると思われる OLEDB 接続の場合、SQL 接続オプション ARITHABORT は OFF です。ただし、ONにする必要があります。その理由は、DB にいくつかのインデックス付きビューが含まれており、接続で ARITHABORT がオンになっていない場合、インデックス付きビューの一部であるテーブルに対する挿入/更新/削除操作が失敗するためです。WITH(NOEXPAND) ヒントが使用されている場合は、インデックス付きビュー自体に対する選択でさえ失敗します (インデックス付きビューのパフォーマンス上の利点を得るには、SQL Standard Edition で使用する必要があります)。
このオプションをオンにすることを指定できるデータ コンテキストの場所はありますか? またはコードのどこかで私はそれを行うことができますか??
不器用な回避策を管理しましたが、好きではありません....選択/挿入/更新/削除操作ごとにストアドプロシージャを作成する必要があり、このプロシージャで最初にSET ARITHABORT ONを実行し、次に別のプロシージャを実行します実際の選択/挿入/更新/削除が含まれています。つまり、最初のプロシージャは 2 番目のプロシージャの単なるラッパーです。選択/挿入/更新/削除コードの上に SET ARITHABORT ON を置くだけでは機能しません。