在C#中,我需要使用带有lamba表达式的linq检索List<Object>
。
情况就是这样:
List<TAB1> itemList =
context.TAB1.Join(
context.TAB2, itm => itm.ItemCode, bcd => bcd.ItemCode, (itm, bcd) => new { ITM = itm, BCD = bcd })
.Where(i => i.ITM.ItemCode == (itemCode ?? i.ITM.ItemCode))
.Where(i => i.BCD.BcdCode.Contains(codeBars ?? i.BCD.BcdCode)).ToList();
目前检索到list<AnonymousType>
,但我需要一个只返回该表值的List<TAB1>
。
修改
返回的List<TAB1>
需要使用TAB1.Barcode
替换一个属性(TAB2.BcdCode
)(它的类型相同)。我该怎么办?
答案 0 :(得分:3)
在过滤器后添加Select
语句:
List<TAB1> itemList =
context.TAB1.Join(
context.TAB2, itm => itm.ItemCode, bcd => bcd.ItemCode, (itm, bcd) => new { ITM = itm, BCD = bcd })
.Where(i => i.ITM.ItemCode == (itemCode ?? i.ITM.ItemCode))
.Where(i => i.BCD.BcdCode.Contains(codeBars ?? i.BCD.BcdCode))
.Select(i => i.ITM)
.ToList();