одна библиотека для нескольких баз данных - PullRequest
2 голосов
/ 10 ноября 2010

Я занимаюсь разработкой приложения для форм Windows с использованием C # 4.0, и это приложение будет предназначаться для различных механизмов баз данных, таких как SQL, MySQL и Oracle. Мне было интересно, есть ли библиотека, которая может взаимодействовать со всеми тремя механизмами вместо реализации моих собственных слоевза каждого.

заранее спасибо.

Ответы [ 5 ]

2 голосов
/ 10 ноября 2010

Вы можете использовать инструмент ORM;Мне нравится NHibernate Но есть еще много: см. список в Википедии .

2 голосов
/ 10 ноября 2010

Проблема в том, что если вы хотите сделать что-либо удаленно (арифметика дат, генерировать первичные ключи, получить идентификатор последней вставленной записи, повернуть таблицу, использовать конструкцию RANGE и т. Д.), То обе базы данных используют совершенно разный синтаксис.

Лучшее решение (по крайней мере, в мире Java - это либо Ibatis, либо Hibernate). Я знаю, что существует версия .NET Hibernate. Я не уверен насчет Ibatis.

Эти библиотеки изолируют вашу программуиз различных диалектов SQL и предоставляют общий API, независимый от базовой базы данных.

1 голос
/ 10 ноября 2010

Если вы используете классы в System.Data.Common , вы можете сделать вашу базу данных кода независимой:

Написание независимого от поставщика кода в ADO.NET

0 голосов
/ 10 ноября 2010

Оформление заказа DbLinq .

DbLinq - поставщик LINQ, который позволяет использовать общие базы данных с API, близким к Linq to SQL.В настоящее время он поддерживает (в порядке появления): MySQL, Oracle, PostgreSQL, SQLite, Ingres, Firebird ... И все же SQL Server.

0 голосов
/ 10 ноября 2010

Я не знаю C #, но знаю, что у него будет библиотека для ODBC .

Похоже, у MS есть один здесь .

Он старый, но на самом деле он отлично справляется со своей работой. Практически каждая существующая БД предоставляет драйвер ODBC.

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