如何通过 join 从两个表中获取 lambda linq 的查询结果

问题描述 投票:0回答:0

我正在尝试通过连接到两个表来进行 lambda linq 查询,但我无法使其工作。 我已经有了 linq 查询

timologia = db.Timologio.Where(p => (p.Imerominia >= apoDate.Date && p.Imerominia <= 
            eosDate.Date.AddDays(1)) &&
            (p.Xrisi == xrisi && p.Diasafistis == diasafistis) &&
            (!p.IsYpodeigma.HasValue || !p.IsYpodeigma.Value)
            .OrderByDescending(p => p.Imerominia).ToList();

现在我想放另一个变量,但我必须从另一个表中读取它。

我想搜索 timologio.seiraId,seiraId 在 SeiresTimologiou 表中,然后我想从那里获得 EmfanisiStoMydata,它有点。

在 SQL 管理中,我可以用这段代码得到我想要的结果:

select g.Description, t.*
                from Timologio t
                join SeiraTimologiou g on g.Id = t.SeiraId
                where g.EmfanisiStoMydata is not null

我在 stackoverflow 中找到了这个答案 https://stackoverflow.com/a/2767742/7054211

但是当我尝试使用它时会抛出一个错误

   var query = db.Timologio 
               .Join(db.SeiraTimologiou,
               timol => timol.SeiraId,
               seira => seira.EmfanisiStoMydata
               (timol, seira) => new { Timol = timol, Seira = seira })
               .Where(previous query && (TimolAndSeira=> TimolAndSeira.SeiraTimologiou.EmfanisiStoMydata == 1 ));

我的错误是

方法 'Queryable.Join(IQueryable, IEnumerable, 表达式>, 表达式>, 表达式>)'无法从中推断出来 用法。尝试明确指定类型参数。

有人可以帮助我吗?

c# lambda linq-to-sql
© www.soinside.com 2019 - 2024. All rights reserved.