Linq to SQL で Arithabort をオンにする方法についてはたくさんの回答が見つかりましたが、Linq to Entities では何も見つかりませんでした。Linq to SQL では、次のことができます。
using (var conn = new SqlConnection(connectionString)){
cmd = conn.CreateCommand();
cmd.Connection.Open();
cmd.CommandText = "set arithabort on;";
cmd.ExecuteNonQuery(); // Line 5
using (var db = new MyDataContext(conn)) {
...
}
}
しかし、上記のコード スニペットを置き換えるだけでまったく同じことを行うと、5 行目で実行時エラーが発生しEntityConnection
ます。SqlConnection
クエリ構文が無効です。識別子「arithabort」の近く、1 行目、5 列目。
Linq2Sql が SQL Server に組み込まれているのに対し、EF は他の DB で動作するという事実に関連していると思います。それで、トリックは何ですか?