【发布时间】:2016-12-23 18:14:41
【问题描述】:
我有一个 mvc3 应用程序,代码如下:
public static List<ApprovalDTO> ConvertToDTO(IQueryable<REGISTER> r2, GMIEntities db, User user)
{
List<ApprovalDTO> rta = new List<ApprovalDTO>();
r2= r2.Where(r => r.APPROVAL.STATE1.DESC_STATE == Constants.ON_HOLD);
String sql = ((System.Data.Objects.ObjectQuery)r2.OrderBy(o => o.ANALYSIS.ANALYSIS_DATE)).ToTraceString();
System.Diagnostics.Debug.WriteLine(sql); }
r2 是用另一种方法构造的:
IQueryable<REGISTER> r2 = db.REGISTER;
r2 = r2.OrderByDescending(r => r.WEIGHING);
return r2;
因此,导致了这个查询:
SELECT
"Extent1".-SOME INFO-
FROM ( SELECT
-SOME INFO- FROM ORDER BY "ANALYSIS_DATE" ASC ) "MYSCHEMA"."REGISTER" ORDER BY "ANALYSIS_DATE" ASC ) "Extent1"
这显然会在执行查询时给出“无效的表名”错误,因为 LINQ 没有填充范围 1 的 FROM 子句 这可能是什么原因造成的?
【问题讨论】:
-
r2在这个被调用之前是如何构造的? -
抱歉,刚刚添加!
-
看起来像 Oracle 数据提供程序中的一个错误。
标签: c# oracle entity-framework linq asp.net-mvc-3