|
EF 5 - можно обновить записи в БД не загружая их?
|
|||
---|---|---|---|
#18+
Везде видел примеры, где либо с запросом записи, типа db.MyTable.First(...), либо уже загруженную ранее запись (надо думать, с помощью другого контекста или созданием экземпляра этой записи без контекста вообще) аттачили к контексту. А можно, как с обычным запросом SQL - update в такой-то таблице по такому-то фильтру такие-то столбцы? Конкретно, проблема такая. Есть таблица, где одно из полей - картинка типа varbinary(max), а остальные - лёгкие поля, типа текста и чисел. Мне надо обновить только текст или числа - для этого обязательно надо грузить всю запись с полем varbinary(max)? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2013, 16:44 |
|
EF 5 - можно обновить записи в БД не загружая их?
|
|||
---|---|---|---|
#18+
А, да. Желательно, обновления такие, без загрузки, делать через какой-нибудь foreach - вобщем, в цикле. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2013, 16:45 |
|
EF 5 - можно обновить записи в БД не загружая их?
|
|||
---|---|---|---|
#18+
user7320А можно, как с обычным запросом SQL - update в такой-то таблице по такому-то фильтру такие-то столбцы?Через SqlQuery("update ..."). user7320Мне надо обновить только текст или числа - для этого обязательно надо грузить всю записьА как же? Это объектное представление записи, объект с потолка что ли значения возьмет? user7320с полем varbinary(max)?Разве EF поддерживает тип varbinary? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2013, 17:17 |
|
EF 5 - можно обновить записи в БД не загружая их?
|
|||
---|---|---|---|
#18+
Antonariyuser7320А можно, как с обычным запросом SQL - update в такой-то таблице по такому-то фильтру такие-то столбцы?Через SqlQuery("update ..."). Не, мне надо понтово - фреймворково. Antonariyuser7320с полем varbinary(max)?Разве EF поддерживает тип varbinary? А нафиг он был бы нужен, если бы не поддерживал? varbinary(max) у меня отображается в byte[] (DB First). Antonariyuser7320Мне надо обновить только текст или числа - для этого обязательно надо грузить всю записьА как же? Это объектное представление записи, объект с потолка что ли значения возьмет? Мне всё равно, как он и откуда что возьмёт, но я не хочу грузить изображение с его описанием, чтобы поменять только описание. Это с EF сделать можно? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2013, 18:56 |
|
EF 5 - можно обновить записи в БД не загружая их?
|
|||
---|---|---|---|
#18+
авторНе, мне надо понтово - фреймворково. Я имею ввиду, зачем использовать EF, если писать запрос руками? Ну неужели надо сначала в контекст данные ЦЕЛИКОМ загрузить, чтобы просто обновить их в БД? Может, можно какую-нибудь облегченную модель, типа один айдишник, которой поменял описание только, а все остальные поля отсутствуют. Потом эту модель отправил в БД, но при этом все остальные поля в этой записи в БД не похерились. Или для вот таких случаев - просто обновить записи в БД без запроса - как раз и придуман SqlQuery(...)? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2013, 19:00 |
|
EF 5 - можно обновить записи в БД не загружая их?
|
|||
---|---|---|---|
#18+
user7320, попробуй вот так: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
http://stackoverflow.com/a/15339512 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2013, 19:14 |
|
EF 5 - можно обновить записи в БД не загружая их?
|
|||
---|---|---|---|
#18+
bazileuser7320, попробуй вот так: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
http://stackoverflow.com/a/15339512 Да-да, я такое встречал. Я вот и спрашиваю, а не сотрёт ли это картинку из записи, если обновить ей только поле мыла, причём записью, в которой поле картинки - null? Потестить смогу только завтра. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2013, 20:07 |
|
EF 5 - можно обновить записи в БД не загружая их?
|
|||
---|---|---|---|
#18+
Штука в том, что по вашей ссылке везде используется updatedUser, который уже как-то когда-то был достан из БД - т. е. это полноценный юзер, без обрезанных (занулённых) полей. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2013, 20:09 |
|
EF 5 - можно обновить записи в БД не загружая их?
|
|||
---|---|---|---|
#18+
user7320bazileuser7320, попробуй вот так: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
http://stackoverflow.com/a/15339512 Да-да, я такое встречал. Я вот и спрашиваю, а не сотрёт ли это картинку из записи, если обновить ей только поле мыла, причём записью, в которой поле картинки - null? Потестить смогу только завтра. Мне тут сказали, что не сотрёт. Завтра попробую. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2013, 20:29 |
|
EF 5 - можно обновить записи в БД не загружая их?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2013, 22:15 |
|
EF 5 - можно обновить записи в БД не загружая их?
|
|||
---|---|---|---|
#18+
user7320Мне всё равно, как он и откуда что возьмёт, но я не хочу грузить изображение с его описанием, чтобы поменять только описание. Это с EF сделать можно?Сделай представление, в котором нет этого поля. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2013, 22:19 |
|
EF 5 - можно обновить записи в БД не загружая их?
|
|||
---|---|---|---|
#18+
Antonariyuser7320Сделай представление, в котором нет этого поля. Выпей яду. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2013, 22:30 |
|
EF 5 - можно обновить записи в БД не загружая их?
|
|||
---|---|---|---|
#18+
Antonariy, Давай абстрагируемся от автора топика, впрочем ему это и не понять.. Вот у нас таблица member, там мы все спихивали в кучу, и пол и адрес, и сексуальную ориентацию, и описание, и в конце блоб с его фоткой, можно? - конечно можно, многие денормализованные идиоты так и делают, но ничто те вечно , когда то и заказчик проспится ( дурак никогда) и потребует что бы было фото в фас в профиль или еще как, добавлять поля ((? как легче? вынести все тяжелые поля в отдельную таблицу и связать их форином через id member... и все.. теперь, если мы будем делать проекцию в орм таблицы member, у на появится в member одно поле Image Foto{get;set;} связанной сущности с ленивой загрузкой - все просто.. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2013, 22:55 |
|
EF 5 - можно обновить записи в БД не загружая их?
|
|||
---|---|---|---|
#18+
Antonariyuser7320Мне всё равно, как он и откуда что возьмёт, но я не хочу грузить изображение с его описанием, чтобы поменять только описание. Это с EF сделать можно?Сделай представление, в котором нет этого поля. У меня здесь нет представлений. Я делаю консольную утилитку для обновления БД и всяких тестов. Где-то в степиAntonariy, Давай абстрагируемся от автора топика, впрочем ему это и не понять.. Вот у нас таблица member, там мы все спихивали в кучу, и пол и адрес, и сексуальную ориентацию, и описание, и в конце блоб с его фоткой, можно? - конечно можно, многие денормализованные идиоты так и делают, но ничто те вечно , когда то и заказчик проспится ( дурак никогда) и потребует что бы было фото в фас в профиль или еще как, добавлять поля ((? как легче? вынести все тяжелые поля в отдельную таблицу и связать их форином через id member... и все.. теперь, если мы будем делать проекцию в орм таблицы member, у на появится в member одно поле Image Foto{get;set;} связанной сущности с ленивой загрузкой - все просто.. Заказчик же может не только это попросить, но ещё и три пола добавить, пять ориентаций, цвет волос и перечислитель всех родственников до 7 колена (но только в засисимости от пола, которых три). Поэтому все, кто делают БД без EAV - ретарды. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2013, 06:32 |
|
EF 5 - можно обновить записи в БД не загружая их?
|
|||
---|---|---|---|
#18+
Где-то в степикак легче? вынести все тяжелые поля в отдельную таблицу и связать их форином через id member... и все.. Вообще не вижу плюсов от подобной декомпозиции. Если бизнес-правилами определено 3 картинки у эмплоя, не вижу проблем добавить 3 поля в ту же таблицу. Единственный плюс в разнесении блобов (в отдельную базу) - оптимизация резервного копирования основной БД и ее восстановления. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2013, 09:47 |
|
EF 5 - можно обновить записи в БД не загружая их?
|
|||
---|---|---|---|
#18+
Где-то в степитеперь, если мы будем делать проекцию в орм таблицы member, у на появится в member одно поле Image Foto{get;set;} связанной сущности с ленивой загрузкой - все просто..Я еще не избавился от стереотипов датасетного программирования и не знаю всех бест-практикс EF :) Конечно, по сравнению с этим вариант с вьюшкой заслуживает яду. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2013, 10:06 |
|
EF 5 - можно обновить записи в БД не загружая их?
|
|||
---|---|---|---|
#18+
Antonariy, точно так же делается и с датасет, и грузится по требованию. Хотя с датасет еще проще, можно и не разбивать таблицу, но не загрузить большие данные сразу. Все эти ЕФ - фигня для детей. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2013, 12:08 |
|
EF 5 - можно обновить записи в БД не загружая их?
|
|||
---|---|---|---|
#18+
А я вообще отказался от ссылочных типов данных, и оперирую одними ключами. Плюс каждый объект обвешан свойствами, который достанет нужный объект по ключу. Ибо ситуация, при которой ты: 1. Достаешь объект из контекста. 2. Выходишь из зоны использования контекста. 3. Пытаешься записать контекст обратно (а для этого надо в новый контекст вытащить все объекты, с которыми записываемый объект связан) - меня вымораживает. А так - все ключи "ношу с собой", люди в курсе. Без проблем читаю, достаю, записываю. А image держал бы в другой таблице и доставал по ключу. И всё. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2013, 12:20 |
|
EF 5 - можно обновить записи в БД не загружая их?
|
|||
---|---|---|---|
#18+
ViPRosВсе эти ЕФ - фигня для детей. и что прости по вашему для взрослых? ТС юзайте на здоровье https://www.nuget.org/packages/EntityFramework.Extended но за целостность сами будете нести ответственность п.с. если кто то не умеет готовить еф эт его проблемы. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2013, 12:59 |
|
EF 5 - можно обновить записи в БД не загружая их?
|
|||
---|---|---|---|
#18+
handmadeFromRu, готовит готовое как то не звучит, типа микроволновка нужна что ль? В Випрос поля помечаются, типа загрузить по требованию, показать муляж, сделать невидимым и т.д. и ниче готовить не надо, проще микроволновки ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2013, 13:02 |
|
EF 5 - можно обновить записи в БД не загружая их?
|
|||
---|---|---|---|
#18+
ViPRos, готовить означает уметь пользоваться, давай ребенку базуку он из не выстрелит ..вопрос куда и в кого попадет. о госпади какой то велик использовать в продакшене ..нет уж спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2013, 13:07 |
|
EF 5 - можно обновить записи в БД не загружая их?
|
|||
---|---|---|---|
#18+
ViPRosAntonariy, точно так же делается и с датасет, и грузится по требованию. Хотя с датасет еще проще, можно и не разбивать таблицу, но не загрузить большие данные сразу. Все эти ЕФ - фигня для детей. Сахават, хорош бредятину писать. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2013, 13:11 |
|
EF 5 - можно обновить записи в БД не загружая их?
|
|||
---|---|---|---|
#18+
[quot МСУ]ViPRosAntonariy, точно так же делается и с датасет, и грузится по требованию. Хотя с датасет еще проще, можно и не разбивать таблицу, но не загрузить большие данные сразу. Все эти ЕФ - фигня для детей. Сахават, хорош бредятину писать.[/quot да токо и слышу это низзя и это низзя, но велик хорош:) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2013, 13:32 |
|
EF 5 - можно обновить записи в БД не загружая их?
|
|||
---|---|---|---|
#18+
handmadeFromRuViPRos, готовить означает уметь пользоваться, давай ребенку базуку он из не выстрелит ..вопрос куда и в кого попадет. о госпади какой то велик использовать в продакшене ..нет уж спасибо какой еще у тя продакшн? книга телефонная что ли? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2013, 13:32 |
|
|
start [/forum/topic.php?fid=17&fpage=23&tid=1349911]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 171ms |
0 / 0 |