DbSet的Add方法是否会导致直接查询EF中的数据库?

问题描述 投票:0回答:1

DbSet的Add方法是否导致对EF中的数据库的立即查询?

我只是好奇Add<TEntity>(TEntity entity)AddRange<TEntity>(IEnumerable<TEntity> entities)AddRange<TEntity>(params TEntity[] entities)是否将立即执行查询。

根据this文章,他们不会立即查询数据库。这是因为在本文的示例之一中,我们具有以下代码:

context.Authors.Add(author);
context.SaveChanges();

但是我无法在文档中找到对此的确认。因此,能否有人确认我的假设,即在调用SaveChanges之前DbSet Add方法不会查询数据库?

.net database entity-framework api entity-framework-core
1个回答
0
投票
预添加,这里是SELECT调用中的ToList() ...

Pre-add

添加后...

On Add

还有SaveChanges ...

Bingo.

为了监视EF周围的行为,包括执行SQL语句的时间/执行什么语句,我强烈建议针对您的数据库(最好是本地数据库)使用探查器,该探查器应避免来自无关查询的“噪音”。这样,您可以在怀疑的地方设置断点,然后监视探查器以了解数据库上的活动。概要分析的数据库在处理ORM时可以发现各种潜在的性能和行为陷阱。

© www.soinside.com 2019 - 2024. All rights reserved.