Мне нужно написать какое-нибудь динамическое выражение выбора в структуре сущностей, как в примере.
var list = db.Article
.GroupBy(x => x.CategoryId)
.Select(x => new ArtDto
{
No = x.Select(c => c.NUMBER).FirstOrDefault(),
UserName = x.Key,
Count = x.Count()
})
.ToList();
Я могу написать группу с таким выражением:
Expression<Func<Article, int>> groupByExp;
groupByExp = (x) => x.CategoryId;
Так что я могу заменить фактическое выражение на groupByExp.
var list = db.Article
.GroupBy(groupByExp)
.Select(x => new ArtDto
{
No = x.Select(c => c.NUMBER).FirstOrDefault(),
UserName = x.Key,
Count = x.Count()
})
.ToList();
Я также хочу написать другое выражение для выбора. Поэтому я могу отправить его в другую функцию, и она будет динамической в этой функции.
Expression<Func<Article, bool>> selectExp;
selectExp = (x) => new ArtDto { ... };
Возможно ли это? У вас есть идея или учебник для этого?