Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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
具有连接条件的LINQ更新查询_Linq - Fatal编程技术网

具有连接条件的LINQ更新查询

具有连接条件的LINQ更新查询,linq,Linq,尝试使用join with on condition和condition执行LINQ更新查询 遵循我的SQL查询 UPDATE tbl_gs_related_orders SET RelatedCOI = sop.ServiceOrderNo FROM tbl_service_order_progress sop JOIN tbl_gs_related_orders ro ON sop.parentid = ro.RelatedOrderParentId AND ro.Rel

尝试使用join with on condition和condition执行LINQ更新查询

遵循我的SQL查询

UPDATE tbl_gs_related_orders  
SET RelatedCOI = sop.ServiceOrderNo  
FROM tbl_service_order_progress sop   
JOIN tbl_gs_related_orders ro  ON sop.parentid = ro.RelatedOrderParentId  
AND ro.RelatedCOIIdentifier collate database_default = sop.InstanceIdentifier collate database_default 
WHERE ro.ParentId = @PARENTID  
AND ro.relatedorderparentid IS NOT NULL
我想将此查询转换为LINQ,因此在更新LINQ查询之后,出现了一些错误,如“join子句中某个表达式的类型不正确,调用join时类型推断失败”


为equals子句创建匿名类型时使用相同的别名:

from c in ctxParser.TBL_SERVICE_ORDER_PROGRESS
join o in ctxParser.tbl_GS_Related_Orders on new { ParentId = c.ParentId, InstanceIdentifier = c.InstanceIdentifier }
equals new { ParentId = o.RelatedOrderParentId, InstanceIdentifier = o.RelatedCOIIdentifier }
from c in ctxParser.TBL_SERVICE_ORDER_PROGRESS
join o in ctxParser.tbl_GS_Related_Orders on new { ParentId = c.ParentId, InstanceIdentifier = c.InstanceIdentifier }
equals new { ParentId = o.RelatedOrderParentId, InstanceIdentifier = o.RelatedCOIIdentifier }