【发布时间】:2016-08-09 15:07:03
【问题描述】:
我在尝试在 Oracle 中连接两个表时遇到以下问题。 其中一个表有一个字符串值,另一个是一个 long。
var query = (from d in context.entity
join m in context.entity2
on d.ordernum.Substring(2) equals m.ordernum.ToString())
select new { d.ordernum, d.customer, m.recordkey});
var items = query.ToList();
问题是这不适用于 Oracle
不能使用 SQLFunctions,因为这是一个 Oracle 数据库
-
不能使用 .ToString()
LINQ to Entities 无法识别方法“System.String ToString()”方法,并且该方法无法转换为存储表达式。
-
强制转换使用 long.Parse()
LINQ to Entities 无法识别方法“Int64 Parse(System.String)”方法,并且该方法无法转换为存储表达式。
任何帮助将不胜感激。
【问题讨论】:
-
ToString在 LINQ to Entities 中受支持。您使用的是什么版本的 EF? -
EF 是 6.1.3,如上所示,当我们使用 ToString() 时,会得到 Linq 无法识别该方法的错误。
标签: c# oracle entity-framework linq