gpt4 book ai didi

c# - SaveChanges() 前新添加的 Entity 的 Id

转载 作者:可可西里 更新时间:2023-11-01 08:21:07 27 4
gpt4 key购买 nike

我正在向我的数据库中添加一个实体,如下所示:

public TEntity Add(TEntity entity)
{
return (TEntity)_database.Set<TEntity>().Add(entity);
}

但是,DbSet.Add 方法并没有返回新添加的带有 Id 等的实体,它只是返回我传入到我的 Add 方法中的对象.

它应该将包括 Id 在内的完整新实体传给我,还是不可能在 SaveChanges() 之前获取 Id叫什么?

最佳答案

所有对 Add() 的调用都在有效地将其注册到数据上下文,以便可以跟踪实体。在调用 SaveChanges() 之前(正如您正确提到的那样),此时不会对数据库执行任何实际操作。

我假设您在表格中使用自动生成的 ID;在这种情况下,数据库引擎将在插入记录时生成该 Id, Entity Framework 将读回它并为您填充您的实体。

因此,为了证实您的怀疑,不 - 在这种情况下调用 SaveChanges() 之前不可能获得 Id。

希望这对您有所帮助!

关于c# - SaveChanges() 前新添加的 Entity 的 Id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6029711/

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