Возвращать несколько результатов в Linq2SQL без хранимой процедуры?
-
12-09-2019 - |
Вопрос
я хотел бы вернуть два набора записей из простой таблицы базы данных с помощью одного запроса Linq2SQL.Я знаю, как это сделать, если бы для этого использовался Linq2SQL, вызывающий хранимую процедуру, но я не хочу использовать хранимую процедуру.
Возможно ли это сделать?
У меня есть нашел статью здесь у этого есть предлагаемое решение, но мне ненавистна идея необходимости писать огромное количество кода, чтобы частично расширить текущий контекст ?!Нравится...ОЙ!!!
Просто не кажется...верно ?
Является ли предложение в статье единственным способом сделать это?Существуют ли другие способы (без использования хранимых процедур и по-прежнему используя Linq2SQL)?
Пожелание Мэтт Уоррен был здесь, чтобы ответить на этот вопрос :)
Редактировать
Я не спрашиваю о том, как выполнять отложенную загрузку / нетерпеливую загрузку (и использовать DataLoadOptions).Это совсем другая концепция.
Решение
Потенциально вы можете сделать это с несколькими активными наборами результатов (MARS), которые я нашел в эта страница.Это Статья MSDN по теме, но конкретно не относится к LINQ to SQL, однако этот делает и, вероятно, тот, который вы хотите проверить.
Сказав это, желаю удачи, потому что, похоже, есть опубликованная ошибка в Microsoft о том, как это не работает, и исправление не появится до .NET 4.0!
Наконец, я понимаю, что вы говорите, что не хотите использовать Хранимые процедуры, но если вы это сделаете, я нашел действительно простое руководство здесь и здесь чтобы начать действовать.
Другие советы
Это единственный способ, которым, как я слышал, это делается без хранимой процедуры.И вы правы, это действительно кажется немного чрезмерным для, казалось бы, простой концепции.Если бы это был я, я просто получал записи в виде отдельных результирующих наборов.