gpt4 book ai didi

C# EF 在一个请求中更新实体

转载 作者:太空宇宙 更新时间:2023-11-03 23:37:45 24 4
gpt4 key购买 nike

我使用 SQL 过程根据条件(这里是日期)更新一个表中的许多行。

CREATE PROCEDURE [S_SourceProduct].P_U_SourceProductSetDisableBeforeDate
@UpdateDate DATETIME
AS
SET NOCOUNT ON;
UPDATE [S_SourceProduct].T_E_SourceProduct
SET [Disabled]=1
WHERE [S_SourceProduct].T_E_SourceProduct.UpdateDate < @UpdateDate

我没有用实体来做,因为我只知道两种方法:

  • 检索所有项目并在每个项目上循环 => 比我有很多行的存储过程慢。
  • 将我的过程复制到一个字符串中并将其用作字符串查询 => 不检查有关语法或列名等的构建。

除了up both还有其他的吗?

最佳答案

如果您不介意使用 Entity Framework 的扩展,这可以使用 EntityFramework.Extended 来实现

For example :

//delete all users where FirstName matches
context.Users.Delete(u => u.FirstName == "firstname");

//update all tasks with status of 1 to status of 2
context.Tasks.Update(
t => t.StatusId == 1,
t2 => new Task {StatusId = 2});

关于C# EF 在一个请求中更新实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30079869/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com