我正在写一个查询,返回需要来自两个表的数据的模型列表,我希望let
关键字可以帮助我。我开始是这样的:在linq中使用let关键字来组合查询
var TheListOfModels =
let Data1 = (from a in MyDC.Table1
where ....
select new ObjectThatContainsData1()
{
}).ToList()
let Data2 = (from b in MyDC.Table2
where ....
select new ObjectThatContainsData2()
{
}).Tolist()
select new ObjectThatContainsBothData()
{
SomeProp1 = from p in Data1
select everything
SomeProp2 = from a in Data2
select everything
}).ToList()
我不是如何进行和写入最终select
语句从2项let
条款的结果,而不是直接从表中选择太肯定。我正在写一个很好的起点的查询结构,还是应该以另一种方式写它?
谢谢。根据注释
编辑:定义表
表1看起来有点像这样:
表2的样子说:
AppleID | UserID | HarvestDateTime | SomeOtherColumn
我在寻找提取所有桃子和苹果到ObjectThatContainsBothData
的列表中,并且where子句基本上存在以过滤HarvestDateTime
和UserID
这似乎是一个连接,在这里是适当的。也许接下来是某种集合操作。你能提供表格定义吗? – ChaosPandion
@ChaosPandion:我做了编辑。我也想过使用一个连接,但是我没有找到任何连接。 – frenchie
您是否需要通过UserID或HarvestDateTime对输出进行分组?我想你也可以减少到一个单一的对象,但你的例子告诉我你正在寻找按某种东西来分组输出。 – ChaosPandion