EF Core中CountAsync方法是否会触发SaveChanges操作?
EF/EF Core中CountAsync方法的数据库行为说明
调用CountAsync()(包括同步的Count())不会将任何实体保存或添加到数据库中。
核心原因:
这类聚合查询方法的作用是生成并执行SQL的COUNT语句,仅用于从数据库读取统计数据,完全不涉及实体的创建、修改或持久化操作。
关键补充:
在EF/EF Core中,只有当你显式调用SaveChanges()或SaveChangesAsync()方法时,上下文所追踪的新增、修改、删除的实体变更才会被提交到数据库。
你提供的代码示例仅执行统计查询:
public async Task<int> Count() { return await _context.Set<TEntity>().CountAsync(); }
内容的提问来源于stack exchange,提问作者Sina Bahmanpour
相关产品推荐
相关产品推荐

