3
我需要用ValueInjecter将IQueryable<User>
映射到IQueryable<SimpleUser>
。IQueryable的ValueInjecter <T>
这可能吗?
我想:
return userRepo.GetUsers()
.Select(o => new SimpleUser().InjectFrom(o))
.Cast<SimpleUser>();
但是,这不能被转换为存储表达式...好,方法InjectFrom
。
automapper可以做到这一点吗?
我想类似这样的东西:
return from i in userRepo.GetUsers()
select new SimpleUser{
i.UserId,
i.Name
};
但利用某种映射工具。
有没有办法在评估查询之前做到这一点?我有一个网格控件,利用IQueryable进行过滤,分页和排序。 – 2011-03-26 17:03:57
@Lol编码器 - 在尝试进行转换之前,您需要进行过滤,排序和分页。简单而简单,转换不会转换为SQL,因此您必须将LINQ用于对象,这意味着所有对象都必须位于内存中。是否可以映射对应于SimpleUser的视图?然后你可以设置SQL函数对应的视图,允许你传入参数做过滤,排序,分页。 – tvanfosson 2011-03-26 17:07:50
@tvanfosson我编辑了我的问题以显示我想实现的目标。 – 2011-03-26 19:45:43