Поддержка модели объектов Firebird

#visual-studio-2010 #entity-framework-4 #firebird #firebird2.5

#visual-studio-2010 #entity-framework-4 #firebird #firebird2.5

Вопрос:

Я скачал Firebird 2.5 и где-то прочитал, что он поддерживает Entity Framework. Когда я добавляю ADO.NET Модель данных объекта в моем проекте и попытайтесь обновить базу данных с помощью модели, Visual Studio 2010 отображает только источники данных SQL Server в списке. Нет ODBC или Firebird.Указан поставщик сети.

В таком случае, как заставить Firebird выступать в качестве источника данных для модели сущности в моем проекте?

Ответ №1:

Установите Firebird-2.5.0.26074_1_Win32.

Установите NETProvider-2.6.0.

И интегрировать его в VS2010:

Извлечение FirebirdDDEXProvider-2.0.5.zip и следуйте инструкциям в ReadMe.txt внутри.

(комбинация этих версий работает — я не пробовал более новые версии)

Обновление: немного подробнее о том, как я выполнил некоторые шаги в ReadMe.txt

На шаге 1: зарегистрируйте эти 2 файла в GAC

 cd "C:Program FilesFirebirdDDEXProvider-2.0.5"
"C:Program FilesMicrosoft SDKsWindowsv7.0AbinNETFX 4.0 Toolsgacutil.exe" /i FirebirdSql.VisualStudio.DataTools.dll

cd "C:Program FilesFirebirdClient"
"C:Program FilesMicrosoft SDKsWindowsv7.0AbinNETFX 4.0 Toolsgacutil.exe" /i FirebirdSql.Data.FirebirdClient.dll
  

На шаге 2: вот часть, которую я добавил в machine.config

 <configuration>
  <configSections>
    ...
    <section name="firebirdsql.data.firebirdclient"
         type="System.Data.Common.DbProviderConfigurationHandler, System.Data, 
         Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
  

и

 <system.data>
  <DbProviderFactories>  
    <add name="FirebirdClient Data Provider" invariant="FirebirdSql.Data.FirebirdClient" 
    description=".Net Framework Data Provider for Firebird" 
    type="FirebirdSql.Data.FirebirdClient.FirebirdClientFactory, 
    FirebirdSql.Data.FirebirdClient, Version=2.6.0.0, Culture=neutral, 
    PublicKeyToken=3750abcc3150b00c" />
  

Замените «3750abcc3150b00c» в приведенном выше ключе ключом из этого:

 "C:Program FilesMicrosoft SDKsWindowsv7.0AbinNETFX 4.0 Toolsgacutil.exe" /l Firebirdsql.data.firebirdclient
  

Комментарии:

1. Я попытался, как вы предложили, но модель сущности не распознает поставщика Firebird. Он по-прежнему недоступен в списке.

2. У меня это тоже не сработало с первой попытки. Вы должны ОЧЕНЬ внимательно следовать инструкции по прочтению. (заставляет меня задуматься, создал ли кто-нибудь скрипт для автоматизации этой процедуры)

Ответ №2:

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

Ответ №3:

Лучше использовать пакеты MSI, которые теперь доступны. Как для поставщика, так и для DDEX. Он позаботится о регистрации DDEX и т.д. для вас. Не забудьте нажать кнопку «Дополнительно», чтобы выбрать правильные версии.