За что не любить ef и чем его заменить

8
Андрей Колчанов, kolchanov@flexberry.ru технический эксперт Flexberry platform, «Новая Платформа» руководитель отдела разработок, ООО "ИТСК"

Upload: gosharp

Post on 17-Jul-2015

67 views

Category:

Technology


8 download

TRANSCRIPT

Page 1: За что не любить EF и чем его заменить

Андрей  Колчанов,  [email protected]    технический  эксперт  Flexberry  platform,  «Новая  Платформа»  руководитель  отдела  разработок,  ООО  "ИТСК"  

Page 2: За что не любить EF и чем его заменить

Одна  модель,  одна  база  

Простые  движения:  

-­‐  Создание  сущностей;  

-­‐  Чтение;  

-­‐  Изменение.  

Пример  на  Flexberry  ORM  

Генерация  кода:  

UML  -­‐>  SQL  DDL;  UML  -­‐>  C#  classes.  

Пример  на  EF  6  

Создан  как:  

Model-­‐first  из  той  же  БД  

2  

Page 3: За что не любить EF и чем его заменить

Class  

Attribute  

Inheritance  

Association  

Composition  (!)  

UML  Table  

Column  

TPC  (!)  

FK  где  *  

FK  где  *  

SQL  DDL    

Class  

Property  

Inheritance  

Property  to  a  referenced  class  

Properties  to  each  other  class  

C#  

* 1

Class

Master

ClassDerived Detail

1

*

Attr:type

3  

Page 4: За что не любить EF и чем его заменить

¡  Неудобное  создание  и  связывание  сущностей;  ¡  «Программист  должен  иметь  всё,  за  что  бы  он  ни    

схватился»  -­‐  это  растрата  ресурсов;  ¡  Нет  простого  способа  загрузки  только  некоторых  

свойств  сущностей;  ¡  Нарушается  «объектная  простота»,  приходится  

вводить  избыточные  сущности,  программировать  неудобно.  

4  

Page 5: За что не любить EF и чем его заменить

¡  Концепция  представлений;  ¡  Различные  СУБД  «из  коробки»;  ¡  Полная  настройка  названий  таблиц,  полей  и  т.п.  в  БД;  ¡  Первичные  ключи  любого  типа;  ¡  Маппирование  в  БД  своих  типов;  ¡  «Отлов»  момента  сохранения  в  БД  и  выполнение  

дополнительных  действий;  ¡  Можно  дописывать  сервисы  данных:  поддержка  

специфики  источника  данных  как  СУБД,  так  и  прикладной  задачи  и  даже  подмена  запросов  целиком;  

¡  Работает  под  Mono,  нет  Native-­‐кода;  

5  

Page 6: За что не любить EF и чем его заменить

¡  >  10  лет  применения:    

6  

Page 7: За что не любить EF и чем его заменить

Без  UML-­‐дизайнера  и  генераторов  кода  

Бесплатно  

Basic  UML-­‐дизайнер,  генератор  объектов  в  C#,  генератор  в  DDL  

6000  руб.  на  1  разработчика  

Входит  год  техподдержки    

+  20%  за  каждый  следующий  год  

Developer  Число  разработчиков    не  ограничено  

90000  руб.  на  1  юрлицо  

Входит  год  техподдержки    

+  20%  за  каждый  следующий  год  

Enterprise  Бесплатно  для  образовательных  учреждений  

(с  ограничениями  Designer  по  функциональности)  

University  

7  

14  дней  на  пробу  

Page 8: За что не любить EF и чем его заменить

¡  ООО  «Новая  Платформа»:  http://FLEXBERRY.NET    

¡                                             X  

¡  X  ¡  Спросите  службу  продаж  и  техподдержки:  [email protected],  http://forum.flexberry.ru/    

¡  Спросите  эксперта:    [email protected]    

8