【发布时间】:2013-08-17 07:12:19
【问题描述】:
首先:我知道之前已经有很多关于这个话题的问题。但我真的找不到任何解决方案来解决我的问题。我的问题是我正在使用抽象方法从数据库集中进行选择。我的代码如下所示:
var dbe = (from i in dbEntities where IsEqualRecord(me, i) select i);
这是我的抽象方法声明:
protected abstract bool IsEqualRecord(MEntity modelEntities, DEntity databaseEntity);
MEntity 和 DEntity 是泛型类型。我读过我的 where 语句不能被翻译成 sql 语句。但是我该如何解决这个问题呢?还有其他方法吗?
请不要投票结束这个问题。我已经查看了关于 stackoverflow 的几乎所有类似问题,但我找不到解决方案。
【问题讨论】:
-
您不能在
LINQ to SQL或LINQ to Entity查询中使用自定义方法。 -
我不认为抽象的方法与它有任何关系......只有
Expression<>对象可以在 Linq to SQL IIRC 中使用。 (Lambda 可以转换为Expression<>;方法组不能。)
标签: c# linq entity-framework