можно ли узнать количество строк, которые будут удалены в каждой таблице при удалении одной строки в таблице?
Например, у меня есть строка в таблице продуктов. Я удалил продукт, и, поскольку я использую каскадное удаление, другие строки в разных таблицах, такие как комментарии и цена, будут удалены. Можно ли получить количество строк, которые будут удалены из других таблиц, в виде строки?
Образец вывода будет "3 строки комментария будут удалены\n 1 строка цены будет удалена" Заранее спасибо!
_db.Comments.Count(c => c.ProductId == pId)
и _db.Prices.Count(p => p.ProductId == pId)
например? Или даже myProduct.Comments.Count
и myProduct.Prices.Count
, если у вас есть свойства навигации
Только путем: подсчета всех строк, которые вы собираетесь удалить.. ИЛИ.. подсчета строк до, запуска удаления в транзакции, подсчета строк после и последующего отката.. Но даже в этом случае в загруженной БД вы должны заметить, что сообщение может закончиться, как только вы его представите
О, да, это имеет большой смысл, спасибо всем вам, ребята!
Проверьте этот ответ, это может помочь вам решить вашу проблему.
Заявление об удалении Oracle: сколько строк было удалено каскадным удалением
Обратите внимание, что это обрабатывает Был, когда OP хочет знать будет. Также обратите внимание, что ответы (почти) только по ссылкам считаются плохими ответами, поскольку ссылки могут устареть.
Как насчет того, чтобы просто получить количество комментариев и цен под этим продуктом?