C # Linq-to-SQL Попытка получить множественный выбор - PullRequest
2 голосов
/ 19 сентября 2009

Я получил этот код SQL в SP: (MS SQL 2008)

    DECLARE @type tinyint
    SELECT @type = Type FROM Contents WHERE ContentID = @ContentID    

    SELECT [ParentContentID], [Headline], [ShortDescription], [CategoryID], [Type], [State], [DatePublished], [Name] FROM Contents INNER JOIN Users ON Users.ID = Contents.PublishedBy WHERE ContentID = @ContentID

    IF (@type = 2) -- Content with text
    BEGIN
  SELECT [Preamble], [ContentText], [FaceBook], [Twitter], [PrintPage], [TipAFriend] FROM ContentText WHERE ContentID = @ContentID
    END

    SELECT [ID], [ImagePath], [ImageType] FROM ContentImages WHERE ContentID = @ContentID
    SELECT [ID], [BoxID] FROM ContentBoxes WHERE ContentID = @ContentID

Я подумал, что должен быть умным, поэтому я добавил класс Linq-to-SQL в свой проект и перетащил SP в класс. Однако я не могу получить доступ к данным из второго, третьего и четвертого операторов выбора. Я надеялся, что класс Linq-to-SQL создаст 4 таблицы данных с информацией, что позволит мне получить к ним доступ, например: data [2] .Row [0] .ImagePath.

Нужно ли создавать собственный код для получения кода с SQL-сервера, чтобы получить эту функциональность?

Ответы [ 2 ]

2 голосов
/ 20 сентября 2009

LINQ to SQL поддерживает несколько наборов результатов из хранимых процедур. Вы захотите взглянуть на документацию для IMultipleResults, и вам нужно будет написать некоторый код в частичном контексте данных (а не просто полагаться на то, что генерирует дизайнер). Некоторые ссылки, чтобы начать вас:

0 голосов
/ 19 сентября 2009

Я не думаю, что linq-to-sql поддерживает сразу несколько наборов результатов.

PLINQO, набор шаблонов CodeSmith, которые я использую для своего текущего проекта, хорошо справляется с этим: PLINQO: хранимые процедуры с несколькими наборами результатов

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