gpt4 book ai didi

asp.net - EF Core - 身份字段突然跃升 1000,无法使用 Id 进行搜索

转载 作者:行者123 更新时间:2023-12-04 03:02:06 25 4
gpt4 key购买 nike

我遇到了 primary key/Id 的问题项目中的一张表。
在该表中,Id突然从38跳了下来至 1039 .

现在真正的问题是,当我通过 1039 找到实体时它不存在,但通过 39 找到它给我实体。
我不确定这种行为,因此无法找到解决方案。

我的模型

public class Domain : Entity
{
public string Name { get; set; }
public string Description { get; set; }
}


public abstract class Entity
{

public int Id { get; set; }

public DateTime InsertDate { get; set; }

public DateTime? UpdateDate { get; set; }

public DateTime? DeleteDate { get; set; }

public bool IsDeleted { get; set; }
}

方法是这样的...
public async Task<Response> Delete(int id)
{
var domain = await DataContext.Domains.FindAsync(id);

if (domain == null)
{
return new Response(ResponseType.NotFound);
}
}

任何人都可以帮忙吗?

最佳答案

它取决于数据库设置 IDENTITY-CACHE。
身份缓存存储身份列的一些值,以防在事务期间发生 SQL 崩溃或类似情况。
为了避免标识列中的空白,您需要将 IDENTITY-CACHE 设置为 OFF 在 SQL 查询窗口上运行此命令:

ALTER DATABASE SCOPED CONFIGURATION SET IDENTITY_CACHE = OFF
GO
你会在这里找到更多信息:
https://social.technet.microsoft.com/wiki/contents/articles/40666.sql-server-2017-identity-cache-feature.aspx

关于asp.net - EF Core - 身份字段突然跃升 1000,无法使用 Id 进行搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48335192/

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