Форум на Kuban.ru (http://forums.kuban.ru/)
-   Разработка программ (http://forums.kuban.ru/f1024/)
-   -   как в linq получить несколько таблиц через хранимую процедуру (http://forums.kuban.ru/f1024/kak_v_linq_poluchit-_neskol-ko_tablic_cherez_hranimuyu_proceduru-5871098.html)

lambda 03.07.2014 13:55

как в linq получить несколько таблиц через хранимую процедуру
 
Имеется хранимая процедура на MSSQL, возвращающая несколько таблиц:

ALTER Procedure [dbo].[SelectAllObj](@TopRow int,
@idPerson uniqueidentifier
)

as

--Выбирает все записи по всем объектам по иденификатору
select top (@TopRow) * from vwDirection where idPerson=@idPerson
select top (@TopRow) * from vwHospital where idPerson=@idPerson
select top (@TopRow) * from vwEHospital where idPerson=@idPerson
select top (@TopRow) * from vwNullNapr where idDirection in (SELECT tbDirection.id
FROM tbDirection INNER JOIN tbInsurance ON tbDirection.idPolis = tbInsurance.id INNER JOIN tbPerson ON tbInsurance.idPerson = tbPerson.id
WHERE (tbPerson.id = @idPerson))
select top (@TopRow) * from vwVYB where idPerson=@idPerson

Создаю при помощи конструктора Linq To SQL класс для работы с процедурой и хочу заполнить сетку данных второй таблицей:

var dataContext = new DataClasses1DataContext();

var query = dataContext.SelectAllObj(10, Guid.Parse("d8764184-17b1-43a8-86dc-f7e3ac455363"));
dataGridView1.DataSource = query;

dataGridView1 выдает перевую таблицу. Как заполнить данными других таблиц, возвращаемых хранимой процедурой? Возможно ли такое решение? Не хотелось бы разбивать одну хранимую процедуру на несколько.

lambda 04.07.2014 14:52

Если кому пригодиться, что конечно сомнительно:
[url]http://msdn.microsoft.com/ru-ru/library/bb399344%28v=vs.110%29.aspx[/url]


Текущее время: 20:45. Часовой пояс GMT +3.