我在SQL Server 2008 R2中编写了一个简单的存储过程,在SSMS中进行测试时会立即执行。但是,当我将它映射到LINQ2SQL(DBML)并在那里执行时,由于某种原因它会超时。
我没有丝毫从哪里开始......
编辑:其他所有工作(一般LINQ2SQL以及其他sprocs)。下面提到的sproc是新添加到DBML中的。
SPROC:
SELECT TOP 50 P.ID, t1.NAME
FROM P
INNER JOIN t1 ON P.ID = t1.ID
WHERE (P.ID <> @id) AND (P.ID2 = @id2) AND t1.NAME IN (
select NAME from t1
where ID = @id
)
C#:
int id1,id2;
using (var db = new DataContext())
{
foreach (var item in db.SPROC(ID1, ID2)) // Timeout exception here!
{
// code...
}
}
编辑#2:我已经将sproc更改为完全相同的代码,现在它可以工作了。我不确定是什么问题,但我认为这不是SQL Server的错。