Поддержка SQL Server или Oracle для уровня хранилища данных с использованием EntityFramework - PullRequest
2 голосов
/ 24 апреля 2011

Я хочу разработать программное обеспечение, которое будет поддерживать использование SQL Server или Oracle в качестве уровня хранилища данных .

Могу ли я использовать Entity Framework для достижения этой цели?Как будет выглядеть архитектура моей системы.И есть ли какие-либо рекомендации / лучшие практики в этом случае?

Благодарим Вас за помощь.

1 Ответ

2 голосов
/ 24 апреля 2011

Хорошо, основываясь на ваших комментариях. Я думаю, что вам нужно составить два разных файла EDMX, где часть CSDL (сущности, показанные в конструкторе) должны быть абсолютно одинаковыми.

Файл EDMX состоит из четырех частей:

  • SSDL - описание базы данных зависит от поставщика базы данных
  • CSDL - описание сущностей
  • MSL - отображение между SSDL и CSDL
  • Информация о диаграмме, связанная с дизайнером

Когда скомпилированный EDMX раскладывается на три xml-файла (ssdl, msl и csdl), прикрепленных как ресурсы к содержащейся сборке.Затем на эти файлы ссылаются из строки соединения EF.

Вам придется использовать EFv4 с объектами POCO, что позволит вам совместно использовать один набор объектов среди нескольких EDMX, поскольку объекты POCO связаны с реальными объектами, определенными вдиаграмма по соглашениям об именах.

Можно заставить EF хранить эти три XML-файла в файлах вместо ресурсов, чтобы вы могли совместно использовать CSDL-часть во время выполнения, но все равно это не будет работать для дизайнера, где вам нужен EDMX, а неотдельные части.

...