如何在lambda表达式中使用带有2个参数的方法



我使用linq使用实体框架从数据库访问表

MyDBEntities context = new MyDBEntities;
int id = 111;
var item = context.MyTable.Where(i => i.id == id).Single();

这很好,但现在我创建了一个我希望使用的方法,而不是id检查:

bool AreNear(string Adress, object Adress)

我想用那种方式

 string adress = "...";
 var item = context.MyTable.Where(i => AreNear(i.adress,adress) ).Single();

但我在执行时出错,说我不能在查询中使用该方法有办法让它发挥作用吗?

不幸的是,没有办法让它工作
原因是LINQ查询并没有真正作为执行。NET代码,但EF提供程序将其转换为SQL。这个EF提供程序不知道如何将AreNear转换为SQL,所以它失败了。

相关内容

  • 没有找到相关文章

最新更新