|
Глупый вопрос по EF - Влияние изменение структуры БД на работоспособность.
|
|||
---|---|---|---|
#18+
Понятно что я и сам небольшой тестик для проверки сделать смог бы, но я всё же на всякий случай быстренько спрошу, вдруг кто-нибудь быстренько ответит и сэкономит мне время. .Net 4.5, с помошью EF 5 были сгенерированы классы с текущей структуры БД и написаны методы для выборки/изменения/вставки данных. Вопрос: Если в одну из таблиц БД теперь добавить новое поле, то что сразу отвалится и отвалится ли вообще? То есть смогут ли отработать методы которые делают выборку/insert/update для этой таблицы? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2013, 13:13 |
|
Глупый вопрос по EF - Влияние изменение структуры БД на работоспособность.
|
|||
---|---|---|---|
#18+
Селект не отвалится, но новое добавленное поле выбираться естественно не будет, инсерт и апдейт отвалятся если не допускаютя в добавленном поле нулевые значения. Вообще что мешает двумя кликами мыши обновить схему из БД? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2013, 13:19 |
|
Глупый вопрос по EF - Влияние изменение структуры БД на работоспособность.
|
|||
---|---|---|---|
#18+
James Bond FRСелект не отвалится, но новое добавленное поле выбираться естественно не будет, инсерт и апдейт отвалятся если не допускаютя в добавленном поле нулевые значения. Вообще что мешает двумя кликами мыши обновить схему из БД? Ну в принципе ничего не мешает, кроме того что схема в моём приложении а структуру БД может изменить ещё кто-то кроме меня и меня в известность не поставить. С инсертом всё понятно, а вот апдейту какая разница есть ли новое поле или нет? Если сделать UPDATE MyTable SET MyField = 1 WHERE ID = 1 где MyField это "старое" поле, то ничего страшного не случится. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2013, 13:33 |
|
Глупый вопрос по EF - Влияние изменение структуры БД на работоспособность.
|
|||
---|---|---|---|
#18+
Ещё один глупый вопрос появился по EF. Есть две таблицы Table1, Table2 с 30-тью полями каждая и связанные как 1 к N. Если без EF, то можно сделать JOIN в котором будут выбраны все поля из Table2 и 2 поля из Table1. А если с EF, то я получу объект класса Table2 со всеми полями и с полем содержашим объект класса Table1 и тоже СО ВСЕМИ ПОЛЯМИ. Как-то многовато и неоптимально, не? EF всегда всё тащит полностью? Спасибо за разъяснение. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2013, 11:45 |
|
Глупый вопрос по EF - Влияние изменение структуры БД на работоспособность.
|
|||
---|---|---|---|
#18+
Почитайте про ленивую загрузку... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2013, 11:57 |
|
Глупый вопрос по EF - Влияние изменение структуры БД на работоспособность.
|
|||
---|---|---|---|
#18+
EDUARD SAPOTSKIПочитайте про ленивую загрузку... А если нет возможности её использовать, как например при применении EF "внутри" WCF-службы? Тогда всё плохо, да? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2013, 12:16 |
|
Глупый вопрос по EF - Влияние изменение структуры БД на работоспособность.
|
|||
---|---|---|---|
#18+
M234EDUARD SAPOTSKIПочитайте про ленивую загрузку... А если нет возможности её использовать, как например при применении EF "внутри" WCF-службы? Тогда всё плохо, да? Почему? Какое отношение ленивая загрузка имеет к WCF? Во первых Вы можете в базе сделать отдельное представление и на основе его создать сущность в EF и отдавать клиенту объекты этого представления. Во вторых никто не заставляет в модели EF делать вложенные колекции. В случае с WCF вообще все просто, один мотод отдает объекты из первой таблицы, а второй отдает объекты второй(связанной) таблицы, принимая Id родительского элемента. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2013, 12:35 |
|
Глупый вопрос по EF - Влияние изменение структуры БД на работоспособность.
|
|||
---|---|---|---|
#18+
EDUARD SAPOTSKIM234пропущено... А если нет возможности её использовать, как например при применении EF "внутри" WCF-службы? Тогда всё плохо, да? Почему? Какое отношение ленивая загрузка имеет к WCF? Во первых Вы можете в базе сделать отдельное представление и на основе его создать сущность в EF и отдавать клиенту объекты этого представления. Во вторых никто не заставляет в модели EF делать вложенные колекции. В случае с WCF вообще все просто, один мотод отдает объекты из первой таблицы, а второй отдает объекты второй(связанной) таблицы, принимая Id родительского элемента. Ну вот такое, что если в методе WCF-Службы не поставить Код: c# 1. 2.
то вылезет ошибка и работать метод не будет. Не понял на счёт двух методов. Они же будут всё равно отдавать полные объекты со всеми полями. А значит и выбирать все поля из таблиц на сервере. Да на счёт представлений я не вспомнил - в некоторых случаях без сомнения это выход. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2013, 13:03 |
|
Глупый вопрос по EF - Влияние изменение структуры БД на работоспособность.
|
|||
---|---|---|---|
#18+
M234 Они же будут всё равно отдавать полные объекты со всеми полями. А значит и выбирать все поля из таблиц на сервере.Не значит. Выборка произойдет только когда ты обратишься к таблице и ее полю. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2013, 13:15 |
|
Глупый вопрос по EF - Влияние изменение структуры БД на работоспособность.
|
|||
---|---|---|---|
#18+
AntonariyM234 Они же будут всё равно отдавать полные объекты со всеми полями. А значит и выбирать все поля из таблиц на сервере.Не значит. Выборка произойдет только когда ты обратишься к таблице и ее полю. Но вот так то значит: Код: c# 1. 2.
Или знаете как этого в WCF-методе избежать? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2013, 13:57 |
|
Глупый вопрос по EF - Влияние изменение структуры БД на работоспособность.
|
|||
---|---|---|---|
#18+
AntonariyM234 Они же будут всё равно отдавать полные объекты со всеми полями. А значит и выбирать все поля из таблиц на сервере.Не значит. Выборка произойдет только когда ты обратишься к таблице и ее полю. А кстати, что значит "обратишся"? Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2013, 14:03 |
|
Глупый вопрос по EF - Влияние изменение структуры БД на работоспособность.
|
|||
---|---|---|---|
#18+
M234ВОТ ТУТ Я УЖЕ ОБРАТИЛСЯ?Тут еще нет, а в следующей строке да, к первой записи. Если написать Table2 tbl = db.Table1.Table2, то даже обращений к базе не будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2013, 17:43 |
|
Глупый вопрос по EF - Влияние изменение структуры БД на работоспособность.
|
|||
---|---|---|---|
#18+
M234схема в моём приложении а структуру БД может изменить ещё кто-то кроме меня и меня в известность не поставить. Это как? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2013, 13:02 |
|
Глупый вопрос по EF - Влияние изменение структуры БД на работоспособность.
|
|||
---|---|---|---|
#18+
НахлобучM234схема в моём приложении а структуру БД может изменить ещё кто-то кроме меня и меня в известность не поставить. Это как? Ну например так: Есть интернет-магазин у которого есть WEB-морда и административная панель и работает он с БД естессно. Проект этот делают другие программисты, не я, и он еще развивается и соответственно может понадобиться например добавить поле в какую-то таблицу БД. Возьмут и ничтоже сумняшеся добавят - ведь нужно же. А моя программка с боку-припёку посредством EF работает с этой БД магазина. Вот примерно так. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2013, 13:16 |
|
|
start [/forum/topic.php?fid=17&fpage=25&tid=1349997]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
82ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 186ms |
0 / 0 |