Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
пакетное удаление
|
|||
|---|---|---|---|
|
#18+
как через ef удалить группу записей по айди. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2013, 22:21 |
|
||
|
пакетное удаление
|
|||
|---|---|---|---|
|
#18+
дернуть хранимку, передав ей на вход айди ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2013, 23:24 |
|
||
|
пакетное удаление
|
|||
|---|---|---|---|
|
#18+
http://codearticles.ru/articles/2409 http://codearticles.ru/articles/914 http://codearticles.ru/articles/422 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2013, 23:56 |
|
||
|
пакетное удаление
|
|||
|---|---|---|---|
|
#18+
МСУ http://codearticles.ru/articles/2409 http://codearticles.ru/articles/914 http://codearticles.ru/articles/422 сплошное жестянство gofffffкак через ef удалить группу записей по айди. через стандартный Remove(), человек, через Remove(). не слушай жестянщиков. и никогда так не делай, как в приведённых выше рецептах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2013, 02:44 |
|
||
|
пакетное удаление
|
|||
|---|---|---|---|
|
#18+
хотя https://github.com/loresoft/EntityFramework.Extended ещё куда ни шло. всё же это дикий костыль. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2013, 02:46 |
|
||
|
пакетное удаление
|
|||
|---|---|---|---|
|
#18+
hVosttхотя https://github.com/loresoft/EntityFramework.Extended ещё куда ни шло. всё же это дикий костыль. А есть не костыли если надо массово и без материализации (к примеру, интересно стало)? Минус Remove в том что материализовать надо перед удалением, удаление к примеру 100 записей через Remove накладно. Собственно если у меня вставала задача удаления, обновление массовое я использовал https://github.com/loresoft/EntityFramework.Extended либ http://codearticles.ru/articles/2409. Ef из коробки не знает про батчинг если я не ошибаюсь, что печально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2013, 08:09 |
|
||
|
пакетное удаление
|
|||
|---|---|---|---|
|
#18+
handmadeFromRuА есть не костыли если надо массово и без материализации (к примеру, интересно стало)? Минус Remove в том что материализовать надо перед удалением, удаление к примеру 100 записей через Remove накладно. Собственно если у меня вставала задача удаления, обновление массовое я использовал https://github.com/loresoft/EntityFramework.Extended либ http://codearticles.ru/articles/2409. Ef из коробки не знает про батчинг если я не ошибаюсь, что печально. EF это ORM. а ORM это взаимодействия с данными в бизнес-логике. 100 записей удалить через Remove совсем не накладно. а вот колбасить огромные массивы данных — вообще не задача ORM и не надо даже пытаться приспособить с помощью костылей его для этого. и ничего тут печального нет. материализовать таблицы с +100500 полей, некоторые из которых (n)varchar(max) конечно будет накладно. но за такой дизайн базы данных проще лишить горе-проектировщика злополучных конечностей. и нанять вменяемого товарища. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2013, 09:17 |
|
||
|
пакетное удаление
|
|||
|---|---|---|---|
|
#18+
handmadeFromRu, кстати, материализация для Remove() не обязательно. подойдёт обычный аттач. и волки целы и овцы сыты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2013, 09:42 |
|
||
|
пакетное удаление
|
|||
|---|---|---|---|
|
#18+
hVosttEF это ORM. а ORM это взаимодействия с данными в бизнес-логике. 100 записей удалить через Remove совсем не накладно. а вот колбасить огромные массивы данных — вообще не задача ORM и не надо даже пытаться приспособить с помощью костылей его для этого. и ничего тут печального нет. материализовать таблицы с +100500 полей, некоторые из которых (n)varchar(max) конечно будет накладно. но за такой дизайн базы данных проще лишить горе-проектировщика злополучных конечностей. и нанять вменяемого товарища. +100500 полей это крайности, но я не вижу смысла вытаскивать записи из бд, если я хочу их удалить все ли по какому то критерию. hVosttкстати, материализация для Remove() не обязательно. подойдёт обычный аттач. и волки целы и овцы сыты. уточни это как при массовом удаление/обновление? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2013, 10:14 |
|
||
|
пакетное удаление
|
|||
|---|---|---|---|
|
#18+
handmadeFromRu+100500 полей это крайности, но я не вижу смысла вытаскивать записи из бд, если я хочу их удалить все ли по какому то критерию. работая с ОРМ вы не думаете о материализации, и о базе данных. для поддержания целостности, материализация нужна, кеширование опять же, чтобы все не полетело к чертям ради экономии десятков тиков. если идёт речь о пережёвывании массивов данных, то имеет смысл перенести эту работу на уровень низкоуровневой работы с данными (хранимки и прочая подобная ботва). handmadeFromRuуточни это как при массовом удаление/обновление? Код: c# 1. 2. 3. никакой материализации не понадобилось. и контекст в курсе, может кеш почистить и целостность при работе логики не нарушается. но чесслово. я б так делал только после профилирования и обнаружения узких мест, дескать да — потеря производительности хоть как-то ощущается (подобная необходимость обычно — подумать о рефакторинге схемы данных и логики). т.е. например, вместо того, чтобы грохать сотнями и тысячами записи по условию или ключу, правильно было бы связать эти сотни и тысячи с одной записью, и грохать именно её. остальное умрёт каскадом. типичный случай: есть заявка и позиции заявки. достаточно убить заявку. нафига заниматься ненужной работой? да и вообще. в бизнес-логике такие вещи просто не нужны, а подобные задачи возникают от банального неумения правильно организовать хранение данных. отсюда эти убогие костыли и дурно пахнущие "рецепты". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2013, 10:34 |
|
||
|
пакетное удаление
|
|||
|---|---|---|---|
|
#18+
Массовые операции, балк инсерты и тому подобное, немного выходит за рамки компетенции ORM. Хотя и она может решать такие задачи. Вопрос скорости зависит от объема данных, индексов и прочего. Где-то подойдет и обычный цикл с удалением entity. P.S. В некоторых случаях не стоит в лоб решать задачу с помощью ORM, это и ежу понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2013, 12:18 |
|
||
|
пакетное удаление
|
|||
|---|---|---|---|
|
#18+
EF это фактически DAL, но почему его кастрировали, не ясно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2013, 15:32 |
|
||
|
пакетное удаление
|
|||
|---|---|---|---|
|
#18+
ПарамонEF это фактически DAL, но почему его кастрировали, не ясно. Почему кастрировали? Возможность выполнить задачу есть. В чем вопрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2013, 16:18 |
|
||
|
пакетное удаление
|
|||
|---|---|---|---|
|
#18+
МСУВозможность выполнить задачу есть. В чем вопрос? Выполнить красиво, одной командой, только в слое БЛ, а не гонять циклы и хардкодить запросы, не говоря уже про костыли и левые сборки. Добавляют, но медленно RemoveRange уже работает ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2013, 16:50 |
|
||
|
пакетное удаление
|
|||
|---|---|---|---|
|
#18+
gofffffкак через ef удалить группу записей по айди. Как вариант: Код: c# 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2013, 16:55 |
|
||
|
пакетное удаление
|
|||
|---|---|---|---|
|
#18+
ПарамонВыполнить красиво, одной командой, только в слое БЛ, а не гонять циклы и хардкодить запросы, не говоря уже про костыли и левые сборки. Ну, вот одной командой. Вполне красиво и быстро. Код: c# 1. ПарамонДобавляют, но медленно RemoveRange уже работает ) RemoveRange УГ, он транслирует 100500 команд. Во-вторых, если удаляемого ID нет (кто-то уже удалил), будет исключение. А в случае ExecuteStoreCommand никаких исключений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2013, 17:52 |
|
||
|
пакетное удаление
|
|||
|---|---|---|---|
|
#18+
Код: c# 1. Причем такое запрос будет выполняться в любой БД, весьма кроссплатформенно. Пакуй эту строчку в свой репозиторий и забудь про все проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2013, 17:57 |
|
||
|
пакетное удаление
|
|||
|---|---|---|---|
|
#18+
МСУНу, вот одной командой. Вполне красиво и быстро. Код: c# 1. Тут мы все преимущества EF, а именно компайл тайм проверки, слили и унитаз. МСУRemoveRange УГ, он транслирует 100500 команд. Во-вторых, если удаляемого ID нет (кто-то уже удалил), будет исключение. А в случае ExecuteStoreCommand никаких исключений. Для небольших количеств - самое то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2013, 18:01 |
|
||
|
пакетное удаление
|
|||
|---|---|---|---|
|
#18+
ПарамонМСУНу, вот одной командой. Вполне красиво и быстро. Код: c# 1. Тут мы все преимущества EF, а именно компайл тайм проверки, слили и унитаз. МСУRemoveRange УГ, он транслирует 100500 команд. Во-вторых, если удаляемого ID нет (кто-то уже удалил), будет исключение. А в случае ExecuteStoreCommand никаких исключений. Для небольших количеств - самое то. 1. Выше я дал рецепт, как можно использовать типизированный подход. Лично для меня оба варианта хороши. 2. Даже для одной записи - плохо. Т.к. в момент удаления ее может не быть. А это эксепшен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2013, 19:55 |
|
||
|
пакетное удаление
|
|||
|---|---|---|---|
|
#18+
МСУ2. Даже для одной записи - плохо. Т.к. в момент удаления ее может не быть. А это эксепшен. Нет там никаких эксепшенов, о чем ты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2013, 20:26 |
|
||
|
пакетное удаление
|
|||
|---|---|---|---|
|
#18+
ПарамонНет там никаких эксепшенов, о чем ты? Ты вообще понял, про что я говорю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2013, 21:01 |
|
||
|
пакетное удаление
|
|||
|---|---|---|---|
|
#18+
МСУ, Нет, я прогнал с записями в базе, потом без записей (стер предварительно), все от работало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2013, 21:11 |
|
||
|
пакетное удаление
|
|||
|---|---|---|---|
|
#18+
Парамон, код в студию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2013, 21:28 |
|
||
|
|

start [/forum/topic.php?fid=18&tid=1357818]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 375ms |

| 0 / 0 |
