Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 返回列表<;对象>;从Linq SQL(Lambda)到join和where_C#_Entity Framework_Linq_Lambda - Fatal编程技术网

C# 返回列表<;对象>;从Linq SQL(Lambda)到join和where

C# 返回列表<;对象>;从Linq SQL(Lambda)到join和where,c#,entity-framework,linq,lambda,C#,Entity Framework,Linq,Lambda,在C#中,我需要使用linq和lamba表达式检索列表。 情况就是这样: 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 =

在C#中,我需要使用linq和lamba表达式检索
列表
。 情况就是这样:

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 itemList=
context.TAB1.Join(
context.TAB2,itm=>itm.ItemCode,bcd=>bcd.ItemCode,(itm,bcd=>new{itm=itm,bcd=bcd})
.其中(i=>i.ITM.ItemCode==(ItemCode??i.ITM.ItemCode))
其中(i=>i.BCD.BcdCode.Contains(代码条??i.BCD.BcdCode)).ToList();
此时,检索到一个
列表
,但我需要一个只返回该表值的
列表

编辑:
返回的
列表
需要将一个属性(
TAB1.Barcode
)替换为
TAB2.BcdCode
(类型相同)。如何操作?

在过滤器后添加
选择
语句:

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();
List itemList=
context.TAB1.Join(
context.TAB2,itm=>itm.ItemCode,bcd=>bcd.ItemCode,(itm,bcd=>new{itm=itm,bcd=bcd})
.其中(i=>i.ITM.ItemCode==(ItemCode??i.ITM.ItemCode))
其中(i=>i.BCD.BcdCode.Contains(代码条??i.BCD.BcdCode))
.选择(i=>i.ITM)
.ToList();

谢谢,但我有一个新问题:如果我想用TAB2(
TAB2.BcdCode
)中的一个属性替换TAB1(
TAB1.CodeBars
)中的一个属性,我需要在选择中更改什么。