Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.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# LINQtoSQL/LINQtoEntities能否生成合并语句?_C#_Linq To Sql_Linq To Entities - Fatal编程技术网

C# LINQtoSQL/LINQtoEntities能否生成合并语句?

C# LINQtoSQL/LINQtoEntities能否生成合并语句?,c#,linq-to-sql,linq-to-entities,C#,Linq To Sql,Linq To Entities,寻找一个组合的INSERT/UPDATE/DELETE语句,MERGE正是我所需要的,但我似乎找不到LINQ/SQL是否支持它(从) 当前版本的LINQ to SQL未生成MERGE语句。您必须在代码中创建自定义的Upsert方法才能执行Upsert如果您还不能执行合并,此人将演示如何执行“Upsert” -- Merge order items into OrderItems table MERGE INTO OrderItem As oi USING @UpdatedItems ui ON

寻找一个组合的INSERT/UPDATE/DELETE语句,MERGE正是我所需要的,但我似乎找不到LINQ/SQL是否支持它(从)


当前版本的
LINQ to SQL
未生成
MERGE
语句。您必须在代码中创建自定义的
Upsert
方法才能执行
Upsert

如果您还不能执行合并,此人将演示如何执行“Upsert”
-- Merge order items into OrderItems table
MERGE INTO OrderItem As oi
USING @UpdatedItems ui
ON (oi.OrderID = ui.OrderID AND oi.ProductID = ui.ProductID)
WHEN MATCHED THEN
    UPDATE SET Quantity = ui.Quantity, UnitCost = ui.UnitCost
WHEN NOT MATCHED THEN
    INSERT (OrderID, ProductID, Quantity, UnitCost)
    VALUES (@OrderID, ui.ProductID, ui.Quantity, ui.UnitCost)
WHEN SOURCE NOT MATCHED THEN
    DELETE;