【问题标题】:Can Linq to SQL/Linq to Entities generate a MERGE statement?Linq to SQL/Linq to Entities 可以生成 MERGE 语句吗?
【发布时间】:2010-06-29 18:50:25
【问题描述】:

寻找组合的 INSERT/UPDATE/DELETE 语句,MERGE 正是我需要的,但我似乎无法找到 LINQ/SQL 是否支持它(来自http://www.sqlbook.com/SQL-Server/SQL-MERGE-35.aspx

-- 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;

【问题讨论】:

标签: c# linq-to-sql linq-to-entities


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-25
    • 2023-01-13
    • 2011-05-12
    • 1970-01-01
    • 1970-01-01
    • 2011-01-27
    相关资源
    最近更新 更多