gpt4 book ai didi

asp.net-mvc - 带有 IQueryable 的 ValueInjecter

转载 作者:行者123 更新时间:2023-12-03 12:01:02 25 4
gpt4 key购买 nike

我需要映射IQueryable<User>IQueryable<SimpleUser>使用 ValueInjecter。

这可能吗?

我试过:

return userRepo.GetUsers()
.Select(o => new SimpleUser().InjectFrom(o))
.Cast<SimpleUser>();

但这不能转换为存储的表达式……嗯,方法 InjectFrom .

自动映射器可以做到这一点吗?

我想要类似的东西:
return from i in userRepo.GetUsers()
select new SimpleUser{
i.UserId,
i.Name
};

但是使用某种映射器工具。

最佳答案

在进行选择之前将集合转换为对象,它应该可以工作。 更新 使用 PredicateBuilder显示过滤和分页和Dynamic LINQ用于排序。

var predicate = new PredicateBuilder<User>.True();
if (!string.IsNullOrEmpty( typeFilter ))
{
predicate = predicate.And( u => u.Type == typeFilter );
}
if (!string.IsNullOrEmpty( nameFilter ))
{
predicate = predicate.And( u => u.Name.StartsWith( nameFilter ));
}

// assumes sortColumn matches one of your user properties and
// sortDirection is either "ASC" or "DESC"
string sortOrder = string.Format( "{0} {1}", sortColumn, sortDirection );

return userRepo.GetUsers()
.Where( predicate )
.OrderBy( sortOrder )
.Skip( (page-1) * usersPerPage )
.Take( usersPerPage )
.ToList() // force the query and make these objects
.Select(o => new SimpleUser().InjectFrom(o))
.Cast<SimpleUser>();

关于asp.net-mvc - 带有 IQueryable<T> 的 ValueInjecter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5443763/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com