什么作为模拟IQueryable的提供者
我正在使用Moles并模拟System.Data.Linq.Table。
我把它构造得很好,但是当我使用它时,它需要IQueryable。 提供者也被嘲笑(moled)。
我只是想让它使用普通的Linq To Objects。 知道那会是什么吗?
这是我可以使用的语法:
MTable userTable = new System.Data.Linq.Moles.MTable(); userTable.Bind(new List { UserObjectHelper.TestUser() }); // this is the line that needs help MolesDelegates.Func provider = //Insert provider here! ^ userTable.ProviderSystemLinqIQueryableget = provider | | | what can I put here? ----------------------------------------+
最简单的是List
,可以通过.AsQueryable()
用作IQueryable
。
MolesDelegates.Func provider = () => userLinqList.AsQueryable().Provider;
这就是我在内存数据库中用来模拟Linq2Sql的东西。 简单而优雅。
简单的解决方案是将list.AsQueryable()绑定到表中。 IQueryable方法将自动重新路由到列表中。