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? ----------------------------------------+
Foi útil?

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
scroll top