本文介绍了用什么作为提供者的嘲笑的IQueryable的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我与工作,并嘲讽系统。 Data.Linq.Table。
我把它建设好,但是当我使用它,它想要的IQueryable 提供以被嘲笑(moled )也是如此。
我只是希望它的正常使用Linq到对象。 ?任何想法,这将是
下面是语法,我可以使用:
MTable<使用者>为UserTable =新System.Data.Linq.Moles.MTable<使用者>();
userTable.Bind(新名单<使用者> {UserObjectHelper.TestUser()});
//这是一个需要帮助
MolesDelegates.Func<行; IQueryProvider>供应商= //将提供者在这里!
^
userTable.ProviderSystemLinqIQueryableget =供应商|
|
|
我可以把这里? ---------------------------------------- +
解决方案
最简单的将是一个列表< T>
这可以作为的IQueryable< T>
通过 .AsQueryable()
。
MolesDelegates.Func< IQueryProvider>供应商=()=> 。userLinqList.AsQueryable()提供;
这就是我作为一个使用内存数据库模拟出LINQ2SQL。古朴典雅。
I am working with Moles and mocking a System.Data.Linq.Table.
I got it constructing fine, but when I use it, it wants IQueryable.Provider to be mocked (moled) as well.
I just want it to use normal Linq To Objects. Any idea what that would be?
Here is the syntax I can use:
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? ----------------------------------------+
解决方案
Simplest would be a List<T>
which can be used as IQueryable<T>
via .AsQueryable()
.
MolesDelegates.Func<IQueryProvider> provider = () => userLinqList.AsQueryable().Provider;
That's what I use as a in memory database to mock out Linq2Sql. Simple and elegant.
这篇关于用什么作为提供者的嘲笑的IQueryable的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!