将 SQL 更新语句转换为 LINQ to Entities
convert a SQL update statement to a LINQ to Entities
在不编写整个 foreach 循环的情况下,有没有办法在 LINQ to Entities 中执行 Update/Set?
使用 EF 6.x
简单更新查询:
UPDATE stop_detail
SET cap_unique_id = b.Delivery_Location_Id
FROM order_detail b
WHERE Stop_Detail.CAP_Unique_Id IS NULL AND ((b.customer_id = 20 OR b.customer_id = 291) AND b.id = stop_detail.order_detail_id AND stop_type = 1)
所有上下文名称都相同。
我通常最终会编写大约 30 行 C# 代码来执行此操作,我知道必须有更好的方法!
你是否可以和你是否应该是两回事。
以下是您可以的方法。
示例来自 EF6 Raw SQL Queries
using (var context = new BloggingContext())
{
context.Database.ExecuteSqlCommand(
"UPDATE dbo.Blogs SET Name = 'Another Name' WHERE BlogId = 1");
}
提示:您可能不应该
在不编写整个 foreach 循环的情况下,有没有办法在 LINQ to Entities 中执行 Update/Set? 使用 EF 6.x
简单更新查询:
UPDATE stop_detail
SET cap_unique_id = b.Delivery_Location_Id
FROM order_detail b
WHERE Stop_Detail.CAP_Unique_Id IS NULL AND ((b.customer_id = 20 OR b.customer_id = 291) AND b.id = stop_detail.order_detail_id AND stop_type = 1)
所有上下文名称都相同。 我通常最终会编写大约 30 行 C# 代码来执行此操作,我知道必须有更好的方法!
你是否可以和你是否应该是两回事。
以下是您可以的方法。
示例来自 EF6 Raw SQL Queries
using (var context = new BloggingContext())
{
context.Database.ExecuteSqlCommand(
"UPDATE dbo.Blogs SET Name = 'Another Name' WHERE BlogId = 1");
}
提示:您可能不应该