【发布时间】:2017-08-04 15:39:05
【问题描述】:
我有下一张桌子:
MyTable
(
ParentId Integer,
Type Integer,
ProdId String,
Date DateTime,
Status Integer
);
我想作为下一个查询:
var res = from tout in myTable.Where(t1 => t1.Type == 1)
join tin in myTable.Where(t2 => t2.Type != 1)
on tout.ParentId equals tin.ParentId
where tout.ProdId == tin.ProdId && tout.Status > tin.Status
orderby tout.Date
select new MyTableStructure
{
...
};
如何使用 lambda 写出与IQueryable 相同的写法?
【问题讨论】:
-
如果我错了请纠正我,但从研究(b/c 我也不知道该怎么做)看来,这两种语法看起来都是一样的。但是,正是您分配给它的类型才有所不同。 (即 -
IQueryable<MyTableStructure> res = .....与IEnumerable<MyTableStructure> res = .....。dotnettricks.com/learn/linq/ienumerable-vs-iqueryable -
好的。补充说我也想使用 lambda
-
我建议在 LINQ 查询中使用
Joins时始终使用标准方法而不是 lambda。原因是Join语法有点混乱(至少对我来说),并且使用标准方式更容易阅读。 stackoverflow.com/questions/2767709/…
标签: c# iqueryable