Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос по Entity Framework, о генерации .edm - файла 
V
    Опции темы
ДобренькийПапаша
Дата 30.4.2011, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

Репутация: нет
Всего: 7



Вот прочитал сейчас введение в Entity Framework у Троелсена.
Вопрос у меня такой - если у меня есть проект, в проекте куча окошек, в каждом окошке осуществляется доступ к различным таблицам (как правило у меня тут одно окно - одна таблица) одной и той же базы данных, то мне при генерации edm-файла указывать сразу все таблицы? Короче говоря, как чаще всего делают - генерят один edm на всё приложение или несколько разных?


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
jonie
Дата 30.4.2011, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 8
Всего: 118



имхо один. Вообще вся эта хрень с генерацией настоящий *****ц  на чуть более крупном проекте, чем Hello word. Незря все сейчас молятся на EF CodeFirst - там этот адЬ залит в классы и его особо не видно.

У меня вот есть модель с 400 таблицами... я ее даж отредактировать в дизайнере не могу... так-то.


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
ДобренькийПапаша
Дата 30.4.2011, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

Репутация: нет
Всего: 7



jonie, у EF есть какие-то серьёзные недостатки? И можно ссылку на этот ваш Code First, чтобы узнать что это, а то я пробил - и вот так вот сразу ничего не нашёл хорошего.


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
jonie
Дата 30.4.2011, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 8
Всего: 118



EFCodeFirts еще не вышел, разве что в составе EF Feature CTP5 (будущем EF5).
Серъезный недостаток генератора по умолчанию это генерация сильносвязанных сущностей с DataContext-ом. Это всё невидно когда у вас клиент-серверное приложение, а не классическая 3-х звенка. Но как только вы переходите грань к 3-х звенному программированию, то эта связь начинает начисто ломать принципы SOA.

Да, есть генераторы POCO сущьностей для EF4 (в онлайне найти можно), но у них тоже есть ограничения.


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
ДобренькийПапаша
Дата 30.4.2011, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

Репутация: нет
Всего: 7



Цитата(jonie @  30.4.2011,  18:00 Найти цитируемый пост)
Но как только вы переходите грань к 3-х звенному программированию, то эта связь начинает начисто ломать принципы SOA.


А почему? В чём будет разница? Сразу не пойму.


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
jonie
Дата 30.4.2011, 18:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 8
Всего: 118



Ну многие очень людят отождествлять модель и бизнес модель. Модель это то что нам нагенерирует EF, в то время как бизнес модель - это те объекты, которыми мы должны обмениваться между клиентом и сервером (например по WCF).

Если мы не различаем эти понятия, то проброс EF сущностей через например WCF нарушает принципы SOA, т.к. кроме собственно field-ов через сеть будет пробрасываться мета информация о Entity (например ObjectContext).

В общем и целом - проброс по сети EF это плохая идея.

Но готовые классы так манят...

Обычно делают свои классы (DTO) без всякого мусора, которые мапят на EF сущноси и расширяют как надо... это всё, конечно, круто, но приводит к "забавностям". Например у вас есть классика жанра - база вида: служащие-департамент.
Нагенили EF, и сделали DTO классы одноименные.. и везде по коду для проброски данных через WCF передаете  DTO. А потом у вас появляется два заказчика - одному надо чтобы он видел представление пользователя  (строку) в виде "Имя служащего (департамент)", другой же о департаментах ничего знать не должен. Оопс. Нам придется написать ДВА класса DTO "служащий" + два метода WCF возращающего инфу (это придется сделать в силу безопасности)... ну и чем дальше тем сложнее поддерживать этот зоопарк и не забывать к тому же обновлять маппировку в случае изменения базы....


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Rohoss
Дата 1.5.2011, 09:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

Репутация: нет
Всего: 18



Цитата(jonie @  30.4.2011,  17:48 Найти цитируемый пост)
имхо один. Вообще вся эта хрень с генерацией настоящий *****ц  на чуть более крупном проекте, чем Hello word. Незря все сейчас молятся на EF CodeFirst - там этот адЬ залит в классы и его особо не видно.

Почему не NHibernate?


--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
jonie
Дата 1.5.2011, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 8
Всего: 118



Цитата(Rohoss @  1.5.2011,  09:01 Найти цитируемый пост)

Почему не NHibernate? 

потому что вопрос не про него.


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Rohoss
Дата 1.5.2011, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

Репутация: нет
Всего: 18



Цитата(jonie @  1.5.2011,  09:56 Найти цитируемый пост)
потому что вопрос не про него. 

а если бы про него был?


--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
ДобренькийПапаша
Дата 1.5.2011, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

Репутация: нет
Всего: 7



Цитата(Rohoss @  1.5.2011,  11:54 Найти цитируемый пост)
а если бы про него был?


А NHibernate принципиально отличается?


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
Rohoss
Дата 1.5.2011, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

Репутация: нет
Всего: 18



Цитата(ДобренькийПапаша @  1.5.2011,  17:37 Найти цитируемый пост)
А NHibernate принципиально отличается? 

К сожалению я не владею вопросом  smile

Добавлено через 9 минут и 21 секунду
Но говорят, что NHibernate намного более доработан чем EF. Но работу с EF ты удобно ведёшь в дизайнерах VS, а в NHibernate нужно много прописывать вручную в текстовых файлах


--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
jonie
Дата 1.5.2011, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 8
Всего: 118



насчет "доработан" спорно.... в общем и целом да,сейчас я бы выбрал NH, но чуть  позж, вероятнее всего EGCodeFirest


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Любитель
Дата 10.5.2011, 06:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 1
Всего: 92



Цитата(jonie @  30.4.2011,  18:00 Найти цитируемый пост)
EFCodeFirts еще не вышел, разве что в составе EF Feature CTP5 (будущем EF5).

http://blogs.msdn.com/b/adonet/archive/201...1-released.aspx
Вышел. Почти на 3 недели раньше поста smile




--------------------
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0553 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.