【发布时间】:2013-05-08 10:11:23
【问题描述】:
我找到了大量关于如何在 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)) {
...
}
}
但如果我做同样的事情,只是在上面的代码 sn-p 中用 SqlConnection 替换 EntityConnection,我会在第 5 行得到一个运行时错误:
查询语法无效。靠近标识符“arithabort”,第 1 行,第 5 列。
我猜这与 Linq2Sql 是为 SQL Server 硬连线的事实有关,而 EF 可以在其他数据库上工作。那么有什么诀窍呢?
【问题讨论】:
-
不确定它是否适用于 EF5,但是:stackoverflow.com/questions/6344992/…
-
@RaphaëlAlthaus - 我已经从该博客下载了解决方案。我简直不敢相信做这么简单的事情是那么困难和复杂。
-
如果您的查询在实体框架中运行缓慢,但在 ssms 中运行速度很快,问题可能是参数嗅探,我遇到了同样的问题并在阅读了这两个帖子后解决了它:dba.stackexchange.com/questions/9840/… stackoverflow.com/questions/7962789/…
标签: c# linq-to-entities entity-framework-5