Посмотрел высоко и низко, но не смог найти синтаксис для подсчета количества строк в [DbContext]. [DbSet Entity] по состоянию изменения строки. В частности, я хотел бы знать, сколько строк в одной сущности/таблице было добавлено и находятся в ожидании SaveChanges().Как подсчитать строки DbSet, добавленные в DbContext
0
A
ответ
1
Вы можете использовать один из методов DbContext.ChangeTracker.Entries
перегрузках (подобных EF6):
var addedCount = db.ChangeTracker.Entries<YourEntity>()
.Count(e => e.State == EntityState.Added);
1
(Первый ответ, так нежна) У меня была аналогичная проблема. Один из подходов заключается в переопределении контексте SaveChanges метод, предложенный здесь: https://www.exceptionnotfound.net/entity-change-tracking-using-dbcontext-in-entity-framework-6/
Но в вашей ситуации специальный метод в вашем классе контекста может быть более подходящим:
public virtual Tuple<int, int> CountChanges()
{
var modified = ChangeTracker.Entries().Where(x => x.State == EntityState.Modified).Count();
var added = ChangeTracker.Entries().Where(x => x.State == EntityState.Added).Count();
return new Tuple<int, int>(modified, added);
}
Смежные вопросы
- 1. DbContext с динамическим DbSet
- 2. DbSet вне класса DbContext
- 3. Динамическая загрузка DbSet в DbContext
- 4. Когда добавлять DbSet в DbContext
- 5. Как программно запросить DbSet в DbContext?
- 6. Почему мой DbContext DbSet null?
- 7. DbContext, DbSet и т. Д. В Dapper
- 8. ASP.NET EF - DbSet DbContext не обновляется
- 9. Применение Linq к DbSet внутри DbContext
- 10. Неожиданное поведение с использованием DbContext и DbSet
- 11. Three.js: Как подсчитать объекты, добавленные в сцену
- 12. Как обобщить доступ к DbSet <TEntity> членам DbContext?
- 13. Как DbContext инициализирует автоматические свойства DbSet <T>?
- 14. Как использовать DI в DbSet
- 15. Найти указанный общий DbSet в DbContext динамически, когда я Субъект
- 16. Entity Framework CodeFirst, Добавить Dbset в DbContext, программно
- 17. Должен ли я создавать явные свойства DbSet в своем DbContext?
- 18. Цикл через все DBSet (из TEntity) в DBContext
- 19. Ссылки для DBContext, DBSet <> в Entity Framework
- 20. Добавить руководство DbSet в частичный класс DbContext EntityFramework
- 21. Использование DbContext и DbSet вместо реализации репозиториев и единицы работы
- 22. Как написать пользовательский dbcontext
- 23. Как конвертировать ObjectSet в DbSet
- 24. Список Dbset/Dbcontext загружен до linq или после linq
- 25. DbContext -> DbSet -> Где пункт отсутствует (Entity Framework 6)
- 26. MySQL, как подсчитать различные значения, добавленные в день?
- 27. Как подсчитать строки в JOIN?
- 28. Как подсчитать строки в MySqlDataReader?
- 29. Как подсчитать строки в MySQL?
- 30. Как подсчитать строки в строке?
Спасибо, что работали. У меня возникли проблемы с поиском исчерпывающей документации для EF Core, и есть предупреждения о том, что у нее важные отличия от EF6, поэтому я не решаюсь ссылаться на документацию EF6. – KarlRKaiser
Да, нет никакой документации по классам, поэтому все, что у нас есть, это Intellisense :(И вот одно из немногих мест, где я мог бы включить документацию lnk в EF6, поскольку (по крайней мере в настоящее время) эта конкретная часть такая же. –