Interbase .NET провайдер структур - PullRequest
0 голосов
/ 06 июля 2011

Я бы хотел использовать инфраструктуру сущностей для моего следующего проекта, и у меня возникли некоторые проблемы при поиске межсетевого драйвера .NET, который поддерживает инфраструктуру сущностей. Я пытался установить драйверы Firebird из http://www.firebirdsql.org/en/net-provider/, но продолжал сталкиваться с неопределенной ошибкой при попытке установить соединение с помощью мастера Entity Data Model, ошибка выглядит следующим образом

"Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index"

Если бы мне пришлось угадывать, проблема заключается в том, что я пытаюсь использовать драйвер firebird для подключения к базе данных interbase.

Есть идеи?

Ответы [ 3 ]

0 голосов
/ 06 июля 2011

Я советую вам использовать драйвер Firebird .NET только для Firebird.

Возможно, вы можете взглянуть на IBProvider , который делает драйвер oledb для Interbase и Firebird.

0 голосов
/ 29 января 2015

Просто ответ на старый вопрос, но, тем не менее, стоит упомянуть, я верю:

Насколько я знаю в настоящее время, поддержки нет (пока, но я думаю, что это произойдет в ближайшее время)для соединения базы данных Interbase с EF.Тем не менее, должна быть возможность написать собственного провайдера на основе рекомендаций EF, которые можно найти здесь .Я столкнулся с точно такой же проблемой, которую я решил, написав драйвер для использования с Interbase XE7 и EF 6 (6.1.2).

Для начала вы можете взглянуть наПоставщик FireBird (с открытым исходным кодом) и уже работает с EF.Если вы изучите предоставленный код, у вас может быть хороший триггер для написания вашего собственного поставщика Interbase для EF.Ссылку на FireBirds EF .NET Provider можно найти здесь

В качестве подсказки: Вам нужно взглянуть на генератор SQL и манифесты в драйвере Firebird и сравнитьэто с грамматикой Interbase SQL.Отображения действительно различаются, но это только некоторые мелкие детали.При компиляции драйвера Firebird с условными символами компиляции GDS32 драйвер Firebird будет искать и загружать файл gds32.dll, предоставленный Interbase.

0 голосов
/ 06 июля 2011

Вы не указываете свою версию Interbase. Поверьте мне, когда я говорю, что действительно имеет значение , потому что Interbase существует уже некоторое время.

Для более новых версий здесь уже есть вопрос в SO: Лучший способ подключения к Interbase 7.1 с использованием .NET C # .

Для более старых версий вы должны рассмотреть возможность перехода на Firebird. Тогда провайдер Firebird .NET будет хорошо работать.

...