質問

私は一緒に働いています ほくろ system.data.linq.tableをmock笑します。

私はそれをうまく構築しましたが、私がそれを使用するとき、それはiQueryableを望んでいます。プロバイダー モックされる(溶けた)。

通常のLINQをオブジェクトに使用したいだけです。それが何なのか考えていますか?

これが私が使用できる構文です:

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? ----------------------------------------+
役に立ちましたか?

解決

最も簡単なのはaです List<T> として使用できます IQueryable<T> 経由 .AsQueryable().

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

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

他のヒント

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top