Domanda

Sto lavorando con Moles e beffardo di un sistema .Data.Linq.Table.

I got it costruire bene, ma quando lo uso, vuole IQueryable. provider per essere preso in giro (moled) pure.

Voglio solo che l'utilizzo normale LINQ to Objects. Qualche idea di cosa sarebbe?

Ecco la sintassi posso usare:

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? ----------------------------------------+
È stato utile?

Soluzione

Più semplice sarebbe un List<T> che può essere utilizzato come IQueryable<T> via .AsQueryable().

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

Questo è quello che io uso come un in-memory database prendere in giro fuori Linq2Sql. Semplice ed elegante.

Altri suggerimenti

La soluzione più semplice sarebbe quella di legare il list.AsQueryable () al tavolo. I metodi IQueryable sarebbero automaticamente reindirizzati alla lista.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top