我正在尝试通过连接到两个表来进行 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, 表达式 >, 表达式 >, 表达式 >)'无法从中推断出来 用法。尝试明确指定类型参数。
有人可以帮助我吗?