编程语言
首页 > 编程语言> > c# – 作为模拟IQueryable的提供者放置什么

c# – 作为模拟IQueryable的提供者放置什么

作者:互联网

我正在使用Moles并模拟System.Data.Linq.Table.

我把它构造得很好,但是当我使用它时,它也希望IQueryable.Provider被模拟(moled).

我只是想让它使用普通的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? ----------------------------------------+

解决方法:

最简单的是List< T>可以用作IQueryable< T>通过.AsQueryable().

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

这就是我在内存数据库中用来模拟Linq2Sql的东西.简单而优雅.

标签:c,linq,pex-and-moles,moles
来源: https://codeday.me/bug/20190527/1159514.html