Vb.net 实体框架划线表不是第一个或默认值
我有以下疑问Vb.net 实体框架划线表不是第一个或默认值,vb.net,linq,entity-framework,entity-framework-6,Vb.net,Linq,Entity Framework,Entity Framework 6,我有以下疑问 Dim p = From it In LiveRmis.product_detail Where it.POS_CODE = Barcode And it.WHL_SKU_LOCATION.FirstOrDefault.WHL_LEVEL_DETAIL.WHL_CODE_CHAIN.Contains("KIN") Select it 如果我的结果不是WHL\U SKU\U位置中的第一行或默认行,会发生什么情况?如果删除firstordefault参
Dim p = From it In LiveRmis.product_detail
Where it.POS_CODE = Barcode And it.WHL_SKU_LOCATION.FirstOrDefault.WHL_LEVEL_DETAIL.WHL_CODE_CHAIN.Contains("KIN")
Select it
如果我的结果不是WHL\U SKU\U位置中的第一行或默认行,会发生什么情况?如果删除firstordefault参数,则无法访问以下链接表
这将基本上循环通过WHL_LEVEL_DETAIL中可能的行,直到找到包含KIN的代码链,还是返回not found
这是正确的方法吗?你想做什么?
您的产品详细信息似乎有多个WHL_SKU位置
您的WHL_位置有1个WHL_级别的详细信息。
如果您想获得至少有1个WHL\U SKULOCATION和“KIN”链的产品详细信息,您可以这样写您的声明:Dim p = From it In LiveRmis.product_detail
Where it.POS_CODE = Barcode
And it.WHL_SKU_LOCATION.Any(wsl=> wsl.WHL_LEVEL_DETAIL.WHL_CODE_CHAIN.Contains("KIN")
Select it
请注意,您使用的firstOrDefault没有任何条件(如firstOrDefault(t=>t.ID=1)),因此它将真正为您提供第一个找到的WHL\u SKU位置。如果每个产品细节只有一个WHL\U SKU\U位置,那么您需要修复数据上下文来表示这一点。谢谢@Kristof-你是对的,但是权力决定我们公司需要第二个仓库,而系统从未设计用于处理该仓库,我的主要问题是两个仓库可以同时有存货,但这一点对我很有帮助