O que colocar como provedor para um iQueryable ridicularizado
-
20-09-2019 - |
Pergunta
Estou trabalhando com Toupeiras e zombando de um sistema.data.linq.table.
Consegui tudo bem, mas quando eu o uso, ele quer iQueryable.Fornecedor a ser ridicularizado (enferrujado) também.
Eu só quero que ele use o LINQ normal para objetos. Alguma ideia do que seria?
Aqui está a sintaxe que posso usar:
MTable<User> userTable = new System.Data.Linq.Moles.MTable<User>();
userTable.Bind(new List<User> { UserObjectHelper.TestUser() });
// this is the line that needs help
MolesDelegates.Func<IQueryProvider> provider = //Insert provider here!
^
userTable.ProviderSystemLinqIQueryableget = provider |
|
|
what can I put here? ----------------------------------------+
Solução
Mais simples seria um List<T>
que pode ser usado como IQueryable<T>
através da .AsQueryable()
.
MolesDelegates.Func<IQueryProvider> provider = () => userLinqList.AsQueryable().Provider;
É isso que eu uso como um banco de dados de memória para zombar do LINQ2SQL. Simples e elegante.
Outras dicas
A solução simples seria vincular a lista.asquítima () à tabela. Os métodos iQueryable seriam automaticamente redirecionados para a lista.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow