powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Глупый вопрос по EF - Влияние изменение структуры БД на работоспособность.
14 сообщений из 14, страница 1 из 1
Глупый вопрос по EF - Влияние изменение структуры БД на работоспособность.
    #38292418
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понятно что я и сам небольшой тестик для проверки сделать смог бы,
но я всё же на всякий случай быстренько спрошу, вдруг кто-нибудь быстренько ответит и сэкономит мне время.

.Net 4.5, с помошью EF 5 были сгенерированы классы с текущей структуры БД и написаны методы для выборки/изменения/вставки данных.
Вопрос: Если в одну из таблиц БД теперь добавить новое поле, то что сразу отвалится и отвалится ли вообще?
То есть смогут ли отработать методы которые делают выборку/insert/update для этой таблицы?
Спасибо.
...
Рейтинг: 0 / 0
Глупый вопрос по EF - Влияние изменение структуры БД на работоспособность.
    #38292428
Фотография James Bond FR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Селект не отвалится, но новое добавленное поле выбираться естественно не будет, инсерт и апдейт отвалятся если не допускаютя в добавленном поле нулевые значения. Вообще что мешает двумя кликами мыши обновить схему из БД?
...
Рейтинг: 0 / 0
Глупый вопрос по EF - Влияние изменение структуры БД на работоспособность.
    #38292456
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
James Bond FRСелект не отвалится, но новое добавленное поле выбираться естественно не будет, инсерт и апдейт отвалятся если не допускаютя в добавленном поле нулевые значения. Вообще что мешает двумя кликами мыши обновить схему из БД?

Ну в принципе ничего не мешает, кроме того что схема в моём приложении а структуру БД может изменить ещё кто-то кроме меня и меня в известность не поставить.
С инсертом всё понятно, а вот апдейту какая разница есть ли новое поле или нет?
Если сделать UPDATE MyTable SET MyField = 1 WHERE ID = 1 где MyField это "старое" поле, то ничего страшного не случится.
...
Рейтинг: 0 / 0
Глупый вопрос по EF - Влияние изменение структуры БД на работоспособность.
    #38294964
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ещё один глупый вопрос появился по EF.
Есть две таблицы Table1, Table2 с 30-тью полями каждая и связанные как 1 к N.
Если без EF, то можно сделать JOIN в котором будут выбраны все поля из Table2 и 2 поля из Table1.
А если с EF, то я получу объект класса Table2 со всеми полями и с полем содержашим объект класса Table1 и тоже СО ВСЕМИ ПОЛЯМИ.

Как-то многовато и неоптимально, не?
EF всегда всё тащит полностью?

Спасибо за разъяснение.
...
Рейтинг: 0 / 0
Глупый вопрос по EF - Влияние изменение структуры БД на работоспособность.
    #38294972
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почитайте про ленивую загрузку...
...
Рейтинг: 0 / 0
Глупый вопрос по EF - Влияние изменение структуры БД на работоспособность.
    #38294987
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIПочитайте про ленивую загрузку...

А если нет возможности её использовать, как например при применении EF "внутри" WCF-службы?
Тогда всё плохо, да?
...
Рейтинг: 0 / 0
Глупый вопрос по EF - Влияние изменение структуры БД на работоспособность.
    #38295001
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
M234EDUARD SAPOTSKIПочитайте про ленивую загрузку...

А если нет возможности её использовать, как например при применении EF "внутри" WCF-службы?
Тогда всё плохо, да?
Почему? Какое отношение ленивая загрузка имеет к WCF?
Во первых Вы можете в базе сделать отдельное представление и на основе его создать сущность в EF и отдавать клиенту объекты этого представления. Во вторых никто не заставляет в модели EF делать вложенные колекции. В случае с WCF вообще все просто, один мотод отдает объекты из первой таблицы, а второй отдает объекты второй(связанной) таблицы, принимая Id родительского элемента.
...
Рейтинг: 0 / 0
Глупый вопрос по EF - Влияние изменение структуры БД на работоспособность.
    #38295019
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIM234пропущено...


А если нет возможности её использовать, как например при применении EF "внутри" WCF-службы?
Тогда всё плохо, да?
Почему? Какое отношение ленивая загрузка имеет к WCF?
Во первых Вы можете в базе сделать отдельное представление и на основе его создать сущность в EF и отдавать клиенту объекты этого представления. Во вторых никто не заставляет в модели EF делать вложенные колекции. В случае с WCF вообще все просто, один мотод отдает объекты из первой таблицы, а второй отдает объекты второй(связанной) таблицы, принимая Id родительского элемента.

Ну вот такое, что если в методе WCF-Службы не поставить
Код: c#
1.
2.
contenxt.Configuration.LazyLoadingEnabled = false;
contenxt.Configuration.ProxyCreationEnabled = false;

то вылезет ошибка и работать метод не будет.

Не понял на счёт двух методов. Они же будут всё равно отдавать полные объекты со всеми полями. А значит и выбирать все поля из таблиц на сервере.

Да на счёт представлений я не вспомнил - в некоторых случаях без сомнения это выход.
...
Рейтинг: 0 / 0
Глупый вопрос по EF - Влияние изменение структуры БД на работоспособность.
    #38295027
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
M234 Они же будут всё равно отдавать полные объекты со всеми полями. А значит и выбирать все поля из таблиц на сервере.Не значит. Выборка произойдет только когда ты обратишься к таблице и ее полю.
...
Рейтинг: 0 / 0
Глупый вопрос по EF - Влияние изменение структуры БД на работоспособность.
    #38295054
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyM234 Они же будут всё равно отдавать полные объекты со всеми полями. А значит и выбирать все поля из таблиц на сервере.Не значит. Выборка произойдет только когда ты обратишься к таблице и ее полю.

Но вот так то значит:
Код: c#
1.
2.
contenxt.Configuration.LazyLoadingEnabled = false;
contenxt.Configuration.ProxyCreationEnabled = false;



Или знаете как этого в WCF-методе избежать?
...
Рейтинг: 0 / 0
Глупый вопрос по EF - Влияние изменение структуры БД на работоспособность.
    #38295065
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyM234 Они же будут всё равно отдавать полные объекты со всеми полями. А значит и выбирать все поля из таблиц на сервере.Не значит. Выборка произойдет только когда ты обратишься к таблице и ее полю.

А кстати, что значит "обратишся"?

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
public ObservableCollection<myTable1> Get_myTable1()
        {
ObservableCollection<> Table1= new ObservableCollection<myTable1>();

            using (var context = new MyEntities())
            {
                context.Configuration.LazyLoadingEnabled = false;
                context.Configuration.ProxyCreationEnabled = false;
                var FC = context.myTable1.Where(o => o.field1== true );
                foreach (var f in FC) // ВОТ ТУТ Я УЖЕ ОБРАТИЛСЯ?                  
                {
                    Table1.Add(f);  
                }
            }

return Table1;
}
...
Рейтинг: 0 / 0
Глупый вопрос по EF - Влияние изменение структуры БД на работоспособность.
    #38295266
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
M234ВОТ ТУТ Я УЖЕ ОБРАТИЛСЯ?Тут еще нет, а в следующей строке да, к первой записи.
Если написать Table2 tbl = db.Table1.Table2, то даже обращений к базе не будет.
...
Рейтинг: 0 / 0
Глупый вопрос по EF - Влияние изменение структуры БД на работоспособность.
    #38296090
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
M234схема в моём приложении а структуру БД может изменить ещё кто-то кроме меня и меня в известность не поставить.

Это как?
...
Рейтинг: 0 / 0
Глупый вопрос по EF - Влияние изменение структуры БД на работоспособность.
    #38296122
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НахлобучM234схема в моём приложении а структуру БД может изменить ещё кто-то кроме меня и меня в известность не поставить.

Это как?

Ну например так: Есть интернет-магазин у которого есть WEB-морда и административная панель и работает он с БД естессно.
Проект этот делают другие программисты, не я, и он еще развивается и соответственно может понадобиться например добавить поле в какую-то таблицу БД. Возьмут и ничтоже сумняшеся добавят - ведь нужно же.
А моя программка с боку-припёку посредством EF работает с этой БД магазина. Вот примерно так.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Глупый вопрос по EF - Влияние изменение структуры БД на работоспособность.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]