Retornar resultados múltiplos em Linq2Sql sem um procedimento armazenado?
-
12-09-2019 - |
Pergunta
eu gostaria de retornar sets de gravação de uma tabela de banco de dados simples com uma consulta Linq2Sql. Eu sei como fazê-lo se isso era usando Linq2Sql chamar um procedimento armazenado, mas eu não quero usar um procedimento armazenado.
É possível fazê-lo?
Eu tenho encontrou um artigo aqui que tem uma solução sugerida, mas eu odeio a idéia de ter que escrever-se uma enorme quantidade de código para parcialmente estender o contexto atual ?! como ... OUCH !!!
Apenas não parece ... certo?
É a sugestão no artigo a única maneira de fazê-lo? Existem outras maneiras (sem o uso de procedimentos armazenados e ainda usando Linq2Sql)?
Matt Warren estava aqui para responder a esta:)
Editar
Eu não estou perguntando sobre como lazy-carga / carga ansioso (e usando DataLoadOptions). Isso é um conceito diferente.
Solução
Potencialmente você pode fazer isso com vários conjuntos de resultados ativos (MARS), que I encontrados a partir de desta página . É um MSDN artigo sobre o tema, mas não especificamente se relacionam com LINQ to SQL, no entanto este faz e provavelmente o que você quer verificar.
Dito isto, boa sorte porque parece que há um bug postou a Microsoft a respeito de como ele não funciona, e a correção não será aqui até .NET 4.0!
Finalmente eu entendo que você diz que não pretende utilizar Stored Procedures, mas se o fizer, eu encontrei um guia realmente simples aqui e aqui ir.
Outras dicas
Essa é a única maneira que eu ouvi dele que está sendo feito sem um procedimento armazenado. E você está certo, parece um pouco excessivo para um conceito aparentemente simples. Se fosse comigo eu só obter os registros como conjuntos de resultados separados.