2013-04-04 40 views
1

我有以下的LINQ查詢:嵌套查詢在LINQ to具有相同dbset實體

var date = (from TA in _context.TAs 
      where TA.Id == (from TB in _context.TAs 
          join TC in _context.TCs on TB.Id equals TC.Id 
          where TB.XXX == TA.XXX && 
            TB.YYY == yyy && 
            TB.Date < _Date 
          group TB by 1 into grouped 
          select grouped.Max(x => x.Id)).FirstOrDefault() 
      select TA.Date).FirstOrDefault().AddMonth(1); 

當我運行查詢,我得到一個異常:

ORA-00904: "Extent1"."XXX": invalid identifier 

我知道這有什麼異常意味着,但所有參與此查詢的類都被正確配置並映射到數據庫,因爲我在其他LINQ to實體查詢中使用它們,而沒有任何無效的標識符異常。

請問你能幫我在這個查詢中找到問題嗎?

謝謝先進。

+0

,直到你找到儘可能小失敗的查詢,減少您的問題。然後再發布! – 2013-04-04 12:41:04

+0

查看正在運行的實際SQL。我不知道用Oracle來做這件事的最好方法。 – AakashM 2013-04-04 14:06:19

回答

0

嘗試此查詢:

var date = (from TA in _context.TAs 
      join TC in _context.TCs on TB.Id equals TC.Id 
      where TA.YYY == yyy && 
        TA.Date < _Date 
      orderby TA.Id 
      select TA.Date).Last();