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();
}
}
しかし、上記のエラーが発生します。関数から述語を構築することで、すべてが正しく行われているように見えます。何かアイデアはありますか? ありがとうございます。