Использование Entity Framework для переноса структуры базы данных - PullRequest
1 голос
/ 12 августа 2011

У нас есть EF-модель базы данных DB2.

Можно ли использовать эту модель для создания базы данных SQL Server?А потом переключаться между использованием DB2 и SQL Server?

Мы думали, что разработчики могут разрабатывать для локальной базы данных SQL Server.

Мы используем EF 4.1.

Ответы [ 2 ]

1 голос
/ 15 сентября 2016

Старый вопрос, но ...

Нельзя использовать перенастройки с провайдером IBM DB2 EF.

О EF 6 (без миграции) для DB2, теперь поддерживается IBM

Вы можете найти официальный пакет nuget для поддержки EF здесь http://www.nuget.org/packages/EntityFramework.IBM.DB2/
но не поддерживает миграцию.

Если вам нужна миграция, вы можете использовать также этот пакет (в дополнение к предыдущему пакету)
https://www.nuget.org/packages/System.Data.DB2.EntityFramework.Migrations/
Вы можете найти больше информации здесь
https://db2ef6migrations.codeplex.com/

1 голос
/ 12 августа 2011

Могут возникнуть проблемы с типами полей, если вы определите их для себя. Я делал это с Sql-Oracle, и, в конце концов, мы создали собственные атрибуты, такие как [VarcharAttribute], и ​​настроили объекты для использования правильного typename в функции OnModelBuilder.

Это может не работать:

[Column(TypeName="varchar")]
public string Data{get;set;}

потому что для Oracle это должно выглядеть так:

[Column(TypeName="VARCHAR2")]
public string Data{get;set;}

Также могут возникнуть другие проблемы, например, при объединении sql-oracle имя таблицы было более 30 символов, и оно работало в sql, но не работало в oracle, поскольку имя таблицы было ограничено 30 символами.

Но после того, как вы исправите эти проблемы, он будет работать. В конце мы смогли установить провайдера из конфигурационного файла.

Так что да, это возможно, если вы позаботитесь о различиях в базе данных

...