|
removeRange<>() - удаляет как надо, или по одной записи?
|
|||
---|---|---|---|
#18+
Такой вот вопрос. Или надо расширения ставить? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2018, 17:58 |
|
removeRange<>() - удаляет как надо, или по одной записи?
|
|||
---|---|---|---|
#18+
Агнец за бортом, Там же видно в консоли какие запросы идут. По одному объекту должен удалять. Что правильно. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2018, 19:25 |
|
removeRange<>() - удаляет как надо, или по одной записи?
|
|||
---|---|---|---|
#18+
Агнец за бортом, EF всегда удаляет/изменяет по одному, так как групповое изменение ставить раком кеш контекста. Нужно также иметь это в виду, если собираешься выполнять запросы на групповые изменения, или хранимки. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2018, 11:10 |
|
removeRange<>() - удаляет как надо, или по одной записи?
|
|||
---|---|---|---|
#18+
hVostt, Поставил эту штуку http://entityframework-plus.net/ В совокупе быстрее не стало, так как "бустится" только операция удаления. А массивный инсерт как-то убыстрить можно? EF Extensions вроде как платным стал. o_O ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2018, 12:26 |
|
removeRange<>() - удаляет как надо, или по одной записи?
|
|||
---|---|---|---|
#18+
Агнец за бортомА массивный инсерт как-то убыстрить можно? - SaveChanges пореже - выкл контексте контроль изменений - выкл контексте валидацию. - не уродовать орм, а взять bulk insert ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2018, 12:41 |
|
removeRange<>() - удаляет как надо, или по одной записи?
|
|||
---|---|---|---|
#18+
Агнец за бортомВ совокупе быстрее не стало, так как "бустится" только операция удаления. Если связи сложные и с каскадом, то может случится что удаление трех платежек потребует удаления пол базы и данных в 20 табличеках за транзакцию. Так что целостность базы важнее вашей вставки 100 строчек за раз. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2018, 12:54 |
|
removeRange<>() - удаляет как надо, или по одной записи?
|
|||
---|---|---|---|
#18+
Petro123Агнец за бортомВ совокупе быстрее не стало, так как "бустится" только операция удаления. Если связи сложные и с каскадом, то может случится что удаление трех платежек потребует удаления пол базы и данных в 20 табличеках за транзакцию. Так что целостность базы важнее вашей вставки 100 строчек за раз. слова все русские, а что ты хотел сказать - не понимаю ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2018, 13:38 |
|
removeRange<>() - удаляет как надо, или по одной записи?
|
|||
---|---|---|---|
#18+
Агнец за бортомслова все русские, а что ты хотел сказать - не понимаюпридуриваешься. Как ты хотел удалить пачкой объекты со связями один ко многим? )))) Так что не придуривайся. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2018, 14:05 |
|
removeRange<>() - удаляет как надо, или по одной записи?
|
|||
---|---|---|---|
#18+
Petro123Агнец за бортомслова все русские, а что ты хотел сказать - не понимаюпридуриваешься. Как ты хотел удалить пачкой объекты со связями один ко многим? )))) Так что не придуривайся. Я задал конкретный вопрос - и не понимаю, как расценить с позиции ответа твой мессадж. Про какие связи один ко многим ты знаешь в моей DB? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2018, 14:28 |
|
removeRange<>() - удаляет как надо, или по одной записи?
|
|||
---|---|---|---|
#18+
Агнец за бортомПро какие связи один ко многим ты знаешь в моей DB? ОРМ работает со связями на уровне своей модели. Поэтому пофигу сколько у тебя конкретно связей. Гони дальше. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2018, 14:39 |
|
removeRange<>() - удаляет как надо, или по одной записи?
|
|||
---|---|---|---|
#18+
Petro123ОРМ работает со связями на уровне своей модели. Да с чего ты взял, что у меня вообще есть связи, чукча? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2018, 15:03 |
|
removeRange<>() - удаляет как надо, или по одной записи?
|
|||
---|---|---|---|
#18+
Агнец за бортом, Ты правда не врубаешься? Это не важно, есть они у тебя или нет. Код в орм одинаковый и обрабатывает по одной записи даже если у тебя их нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2018, 15:32 |
|
removeRange<>() - удаляет как надо, или по одной записи?
|
|||
---|---|---|---|
#18+
Petro123Как ты хотел удалить пачкой объекты со связями один ко многим? Ты реально дуГачок что ли? Я их и удаляю "ПАЧКОЙ". Агнец за бортомА массивный инсерт как-то убыстрить можно? Я задал простой вопрос. Что ты тут развёл? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2018, 16:26 |
|
removeRange<>() - удаляет как надо, или по одной записи?
|
|||
---|---|---|---|
#18+
Агнец за бортомА массивный инсерт как-то убыстрить можно? через EF нет, так как он проектировался на в расчёте на скорость операций, соответственно это как заставить корову лаять и гоняться за кроликами. тут либо делать быстрые операции в обход контекста EF, например, через Dapper, либо смириться :) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2018, 16:32 |
|
removeRange<>() - удаляет как надо, или по одной записи?
|
|||
---|---|---|---|
#18+
Агнец за бортомEF Extensions вроде как платным стал. o_O даже задаром не был никогда нужен. ибо, на крайний в EF можно пропихивать свои SQL запросы. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2018, 16:32 |
|
removeRange<>() - удаляет как надо, или по одной записи?
|
|||
---|---|---|---|
#18+
hVostt, То есть, если есть нужда ПРОСТО: 1. Быстро удалить записи. 2. Быстро (относительно) их вставить. То EF Extensions задаром не нужен, а тот же Dapper - окей? Задачи не меняются, то и то - библиотеки - почему разное отношение? Массивный инсерт - это засыл пачки команд на скл сервер и обработка их там, никакой магии. А EF реально по одной их гонит? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2018, 16:47 |
|
removeRange<>() - удаляет как надо, или по одной записи?
|
|||
---|---|---|---|
#18+
Агнец за бортомPetro123Как ты хотел удалить пачкой объекты со связями один ко многим? Ты реально дуГачок что ли? Я их и удаляю "ПАЧКОЙ". Агнец за бортомА массивный инсерт как-то убыстрить можно? Я задал простой вопрос. Что ты тут развёл? Можем проще: Вопрос про удаление - удаляются по одной. Вопрос про вставку - ответ выше. Можешь еще сутки погулять чтобы смириться)). ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2018, 16:48 |
|
removeRange<>() - удаляет как надо, или по одной записи?
|
|||
---|---|---|---|
#18+
Агнец за бортомА EF реально по одной их гонит?ты тупишь? Включи галку и смотри что он гонит. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2018, 16:51 |
|
removeRange<>() - удаляет как надо, или по одной записи?
|
|||
---|---|---|---|
#18+
Агнец за бортомТо есть, если есть нужда ПРОСТО: 1. Быстро удалить записи. 2. Быстро (относительно) их вставить. Секретное оружие: Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2018, 16:56 |
|
removeRange<>() - удаляет как надо, или по одной записи?
|
|||
---|---|---|---|
#18+
Агнец за бортомТо есть, если есть нужда ПРОСТО: 1. Быстро удалить записи. 2. Быстро (относительно) их вставить. То EF Extensions задаром не нужен, а тот же Dapper - окей? Я не смотрел как внутри устроены EF Extension, но если делают тоже самое, что Dapper, то тоже окей :) В Dapper можно в команду insert передать коллекцию, в результате будет сгенерирована команда insert into table1 (a, b, c) values (...), (...),... т.е. очень быстро. Агнец за бортомЗадачи не меняются, то и то - библиотеки - почему разное отношение? Потому что у EF есть контекст, который управляет моделью данных и кеш. Т.е. это ещё и серверная валидация, чего невозможно сделать, если тебе надо работать с данными напрямую, уповая на констрейты базы данных. Плюс в EF могут быть добавлены события на изменения, которые будут, например, вести аудит, насыщать данные, например пользователь и дата создания. При массовых операциях этого не будет, это противоречит логике слоя работы с данными. Будут сюрпризы и сложностию. Агнец за бортомА EF реально по одной их гонит? Да. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2018, 16:58 |
|
removeRange<>() - удаляет как надо, или по одной записи?
|
|||
---|---|---|---|
#18+
hVosttinsert into table1 (a, b, c) values (...), (...),... т.е. очень быстро. А будет реальная разница между insert into table1 (a, b, c) values (...), (...),... и insert into table1 (a, b, c) values (...) insert into table1 (a, b, c) values (...) .... на большом количестве записей? тестировать лень ) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2018, 18:10 |
|
removeRange<>() - удаляет как надо, или по одной записи?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2018, 18:31 |
|
removeRange<>() - удаляет как надо, или по одной записи?
|
|||
---|---|---|---|
#18+
Старая тема, 7 лет прошло, я ее видел. Чел выдал простыню на простой вопрос и загрузил ). Можно в двух словах? И как оно на 2014, 2016 серверах. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2018, 00:17 |
|
removeRange<>() - удаляет как надо, или по одной записи?
|
|||
---|---|---|---|
#18+
Парамон, Бенчмарков не делал, то должно быть очевидно, что один statement выполняется быстрее, чем несколько. Но согласен, интересно. Будет время, сделаю бенч. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2018, 08:24 |
|
removeRange<>() - удаляет как надо, или по одной записи?
|
|||
---|---|---|---|
#18+
>Агнец за бортом, 3 июл 18, 16:47 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1297572&msg=21539864][21539864] >...То EF Extensions задаром не нужен, а тот же Dapper - окей?... А хранимую процедуру из EF вызвать нельзя? Как то так: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
В моём случае хранимка выдаёт выборку: пустую, если ок; или с не доделанной работой. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2018, 08:50 |
|
|
start [/forum/moderation_log.php?user_name=ixk88]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
get settings: |
10ms |
get forum list: |
12ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
167ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
others: | 1131ms |
total: | 1450ms |
0 / 0 |