Возвращать несколько результатов в Linq2SQL без хранимой процедуры?

StackOverflow https://stackoverflow.com/questions/770722

Вопрос

я хотел бы вернуть два набора записей из простой таблицы базы данных с помощью одного запроса Linq2SQL.Я знаю, как это сделать, если бы для этого использовался Linq2SQL, вызывающий хранимую процедуру, но я не хочу использовать хранимую процедуру.

Возможно ли это сделать?

У меня есть нашел статью здесь у этого есть предлагаемое решение, но мне ненавистна идея необходимости писать огромное количество кода, чтобы частично расширить текущий контекст ?!Нравится...ОЙ!!!

Просто не кажется...верно ?

Является ли предложение в статье единственным способом сделать это?Существуют ли другие способы (без использования хранимых процедур и по-прежнему используя Linq2SQL)?

Пожелание Мэтт Уоррен был здесь, чтобы ответить на этот вопрос :)

Редактировать

Я не спрашиваю о том, как выполнять отложенную загрузку / нетерпеливую загрузку (и использовать DataLoadOptions).Это совсем другая концепция.

Это было полезно?

Решение

Потенциально вы можете сделать это с несколькими активными наборами результатов (MARS), которые я нашел в эта страница.Это Статья MSDN по теме, но конкретно не относится к LINQ to SQL, однако этот делает и, вероятно, тот, который вы хотите проверить.

Сказав это, желаю удачи, потому что, похоже, есть опубликованная ошибка в Microsoft о том, как это не работает, и исправление не появится до .NET 4.0!

Наконец, я понимаю, что вы говорите, что не хотите использовать Хранимые процедуры, но если вы это сделаете, я нашел действительно простое руководство здесь и здесь чтобы начать действовать.

Другие советы

Это единственный способ, которым, как я слышал, это делается без хранимой процедуры.И вы правы, это действительно кажется немного чрезмерным для, казалось бы, простой концепции.Если бы это был я, я просто получал записи в виде отдельных результирующих наборов.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top