5

Molesを使用して System.Data.Linq.Table をモックしています。

うまく構築できましたが、使用するとIQueryableが必要になります。プロバイダーも嘲笑 (モールディング) されます。

通常のLinq To Objectsを使用したいだけです。それは何だろう?

使用できる構文は次のとおりです。

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? ----------------------------------------+
4

2 に答える 2

7

最も単純なのは、 viaList<T>として使用できるaです。IQueryable<T>.AsQueryable()

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

これは、Linq2Sql をモックするためのメモリ内データベースとして使用するものです。シンプルでエレガント。

于 2010-02-11T17:16:03.483 に答える
0

簡単な解決策は、list.AsQueryable() をテーブルにバインドすることです。IQueryable メソッドは自動的にリストに再ルーティングされます。

于 2010-03-21T03:47:51.353 に答える