在C#中,我需要使用linq和lamba表达式来检索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)。我该怎么做?

最佳答案

在过滤器后添加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();

关于c# - 从Linq SQL(Lambda)中返回具有连接和位置的List <Object>,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37739139/

10-09 13:47