Linq to SQL SP возвращает несколько наборов записей, когда мне нужен только один! - PullRequest
0 голосов
/ 09 ноября 2009

Привет, у меня есть следующий SP, однако, когда я использую LINQ to SQL, он генерирует 2 множественных набора записей. Для здравого смысла я пытаюсь понять, что в хранимой процедуре делает это, и хотел бы вернуть только один набор записей ... Может ли помочь?

    ALTER PROCEDURE [dbo].[CheckToken] 
        @LoginId int
    AS
    BEGIN
        -- SET NOCOUNT ON added to prevent extra result sets from
        -- interfering with SELECT statements.
        SET NOCOUNT ON;

        DECLARE @failures INT

        SET @failures = (SELECT COUNT(loginid) FROM auditerrorcode WHERE 
                    errorid = 1012 AND loginid = @loginid
                    AND datecreated >  DATEADD(hh, -1, getdate())
                )


        IF @failures > 10 UPDATE [login] SET [IsDisabled]=1 WHERE loginid = @loginid

        SELECT * FROM [Login] WHERE LoginId = @LoginId

END

Ответы [ 2 ]

0 голосов
/ 09 ноября 2009

Извините, ребята ....

Я снова посмотрел в сгенерированном файле DBML и удалил метод CheckToken, для которого были определены несколько наборов результатов. Затем я регенерировал, и теперь я получил то, что ожидал, один набор записей

Похоже, что моды, которые я сделал для SP, сработали.

0 голосов
/ 09 ноября 2009

Выполните процедуру самостоятельно и исключите, что вы не получите две строки, потому что для идентификатора, который вы передаете, возвращается две строки. Сделайте это в SQL Managment Studio с

EXEC dbo.CheckToken 999

Убедитесь, что вы используете тот же @LoginID, который вы вызываете из своего кода .NET.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...