Pregunta

Estoy trabajando con Moles y burlándose de un Sistema .Data.Linq.Table.

Tengo que construir bien, pero cuando lo uso, que quiere IQueryable. Proveedor para ser burlado (moled) también.

Sólo quiero que utilizar LINQ normales a los objetos. Cualquier idea de lo que sería?

A continuación se muestra la sintaxis puedo 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? ----------------------------------------+
¿Fue útil?

Solución

más simple sería un List<T> que puede ser utilizado como IQueryable<T> través .AsQueryable().

MolesDelegates.Func<IQueryProvider> provider = () => userLinqList.AsQueryable().Provider;

Eso es lo que yo uso como una base de datos en memoria para burlarse cabo Linq2Sql. Sencillo y elegante.

Otros consejos

La solución simple sería la de obligar a la list.AsQueryable () a la mesa. Los métodos IQueryable serían automáticamente redirigidos a la lista.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top