如何解决如何在我的lambda表达式中使用带有2个参数的方法
|| 我使用linq使用Entity Framework从数据库访问表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提供程序不知道如何将“ 3”转换为SQL,因此失败。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。