Question

Je travaille avec taupes et se moquant d'un système .Data.Linq.Table.

Je l'ai construire très bien, mais quand je l'utilise, il veut IQueryable. Fournisseur à moquée (moled) ainsi.

Je veux juste utiliser LINQ normale aux objets. Toute idée de ce que serait?

Voici la syntaxe que je peux utiliser:

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? ----------------------------------------+
Était-ce utile?

La solution

Simplest serait un List<T> qui peut être utilisé comme IQueryable<T> via .AsQueryable().

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

C'est ce que je l'utilise comme base de données dans la mémoire pour se moquer des Linq2Sql. Simple et élégant.

Autres conseils

La solution simple serait de lier le list.AsQueryable () à la table. Les méthodes IQueryable seraient automatiquement redirigés à la liste.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top