Asp.NetCore3.1WebApi尝试更新记录时会将其删除。
创始人
2024-09-17 10:00:56
0

这个问题可能是由于未正确配置DbContext引起的。在某些情况下,使用DbContext的默认行为会造成这种问题。为了解决这个问题,可以通过使用NoTracking()方法来设置DbContext以防止EF Core默认行为。 在这种情况下,可以在context.Update()方法之前使用NoTracking()方法。以下是示例代码:

using Microsoft.EntityFrameworkCore;

// ...

public async Task> UpdateItemAsync(int id, MyEntity entity)
{
    using (var context = new MyDbContext())
    {
        context.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking;

        var existingEntity = await context.MyEntities
            .FirstOrDefaultAsync(e => e.Id == id);

        if (existingEntity == null) { return NotFound(); }

        existingEntity.Name = entity.Name; // Update existing entity's properties

        context.Update(existingEntity); // Note: Call Update after modifying properties

        try
        {
            await context.SaveChangesAsync();
            return existingEntity;
        }
        catch (DbUpdateConcurrencyException)
        {
            if (!MyEntityExists(id))
            {
                return NotFound();
            }
            else
            {
                throw;
            }
        }
    }
}

这将确保EF Core不会跟踪实体,以防止在修改实体时发生意外行为。

相关内容

热门资讯

透视规律!德州透视竞技联盟,h... 透视规律!德州透视竞技联盟,hhpoker辅助器视频,积累教程(好像有挂)-哔哩哔哩1、完成德州透视...
透视网页版!德普之星辅助工具如... 透视网页版!德普之星辅助工具如何打开(透视)开挂辅助攻略(本来存在有挂)-哔哩哔哩1、操作简单,无需...
透视好牌!安装不了wepoke... 透视好牌!安装不了wepoker,hhpoker辅助靠谱吗,讲义教程(竟然是有挂)-哔哩哔哩1、hh...
透视代打!wepoker安装教... 透视代打!wepoker安装教程(透视)开挂辅助工具(本来真的有挂)-哔哩哔哩1)wepoker安装...
透视辅助!pokemmo手机版... 透视辅助!pokemmo手机版脚本,wpk透视辅助方法,练习教程(果然是有挂)-哔哩哔哩1、下载好p...
透视ai代打!aapoker脚... 透视ai代打!aapoker脚本怎么用(透视)开挂辅助挂(一直存在有挂)-哔哩哔哩1、每一步都需要思...
透视神器!wpk透视插件(透视... 透视神器!wpk透视插件(透视)开挂辅助器(真是真的有挂)-哔哩哔哩1、进入游戏-大厅左侧-新手福利...
透视插件!wepoker永久免... 透视插件!wepoker永久免费脚本,聚星ai辅助工具下载,攻略教程(一直有挂)-哔哩哔哩所有人都在...
透视软件!pokernow辅助... 透视软件!pokernow辅助工具,wpk辅助,教材教程(真是是真的挂)-哔哩哔哩1、让任何用户在无...
透视软件!HH平台挂(透视)开... 透视软件!HH平台挂(透视)开挂辅助app(切实存在有挂)-哔哩哔哩1、玩家可以在HH平台挂软件透明...