Является ли модель данных объекта (файлы .edmx) независимой от ORM? - PullRequest
1 голос
/ 15 февраля 2012

После нескольких лет использования NHibernate я сейчас изучаю Entity Framework для использования в моем следующем проекте. В данный момент я пытаюсь сделать выбор между подходами, основанными на коде или модели. Подход, основанный на модели, привлекает меня, но результат должен быть независимым от ORM. С этой целью я обдумываю следующее. Будет ли возможно и практично создавать шаблоны T4, которые генерируют классы и файлы .hbm.xml (для использования с NHibernate) из содержимого отображения CSDL и C-S файла .edmx?

Ответы [ 2 ]

3 голосов
/ 16 февраля 2012

Никакое отображение не является независимым от ORM, потому что оно является частью этого ORM API, или вы видели среду Entity, использующую hbm-файлы NHibernate?EDMX - это XML-представление EDM (Entity Data Model), которая является активом MS и используется в основном для API MS.Более того, не все API для обработки EDM, предоставляемые MS, доступны (внутренняя реализация).EDMX не является независимым от ORM.Хуже всего то, что он даже не зависит от базы данных.

В любом случае вы можете создать любой пользовательский инструмент или преобразование, используя EDMX в качестве входных данных и предоставляя другое отображение в качестве выходных данных.Вам просто нужно понять формат ввода и вывода.Я не уверен, будет ли это возможно напрямую с T4, но это определенно возможно.Но это не будет практичным.Практическим является использование одного ORM на полную мощность и использование инструментов, доступных для этого ORM.

2 голосов
/ 16 февраля 2012

Возможно и практично создать шаблоны T4, которые генерируют классы для Fluent NHibernate из файла .edmx.Я нахожусь на проекте в AMD, где мы делаем именно это.(Я сам не автор.) См .: http://tom -jaeschke.blogspot.com / 2011/08 / use-entity-framework-and-nhibernate.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...