稍后在我的EF中,我试图传递一个匿名函数以用作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();
}
}
但是,我得到上述错误。似乎我通过从函数构建谓词来使所有事情都正确。有任何想法吗?谢谢。