【问题标题】:LINQ creates query leaving "From" clause emptyLINQ 创建将“From”子句留空的查询
【发布时间】: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


【解决方案1】:

由于某种原因,重新安装 Visual Studio 后问题解决了

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-29
    • 1970-01-01
    • 1970-01-01
    • 2021-08-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多