0

我在 SQL Server 2008 R2 中编写了一个简单的存储过程,当在 SSMS 中进行测试时,它会立即执行。但是,当我将它映射到 LINQ2SQL (DBML) 并在那里执行时,由于某种原因它会超时。

我一点也不知道从哪里开始……

编辑:其他一切都有效(一般 LINQ2SQL 以及其他存储过程)。下面提到的存储过程是新添加到 DBML 中的。

存储过程:

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:我已将存储过程更改为相同的确切代码,现在它可以工作了。我不确定是什么问题,但我假设这不是 SQL Server 的错。

4

0 回答 0