在稍后的EF中,我try 传入一个匿名函数作为Linq查询的一部分.该函数将传入一个int并返回一个BOOL(u.RelationTypeId是一个int).下面是我的函数的简化版本:
public IEnumerable<UserBandRelation> GetBandRelationsByUser(Func<int, bool> relation)
{
using (var ctx = new OpenGroovesEntities())
{
Expression<Func<UsersBand, bool>> predicate = (u) => relation(u.RelationTypeId);
var relations = ctx.UsersBands.Where(predicate);
// mapping, other stuff, back to business layer
return relations.ToList();
}
}
然而,我得到了上面提到的错误.通过从函数中构建一个谓词,我似乎可以纠正所有问题.有什么 idea 吗?谢谢