C# Linq中的嵌套查询到具有相同数据库集的实体

C# Linq中的嵌套查询到具有相同数据库集的实体,c#,linq,entity-framework,entity-framework-4,C#,Linq,Entity Framework,Entity Framework 4,我有以下Linq查询: 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 &&

我有以下Linq查询:

 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);
我知道这个异常意味着什么,但是参与这个查询的所有类都被正确配置并映射到数据库,因为我在其他LINQ to entities查询中使用它们,没有任何无效的标识符异常

你能帮我找到这个问题吗

高级版谢谢。

尝试以下查询:

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();

减少问题,直到找到一个尽可能小但失败的查询。然后再贴一次!查看正在运行的实际SQL。我不知道用甲骨文做这件事的最好方法。
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();