Кроссплатформенный SQL? (SQLite + MySQL + TSQL) - PullRequest
3 голосов
/ 16 декабря 2009

Есть ли кроссплатформенное решение для sql? Мой прототип был в sqlite. Я переключаюсь на сервер, который предлагает tsql, и я рассматривал mysql в прошлом для моих веб-серверов (возможно, я должен придерживаться tsql и sqlite). Мне интересно, есть ли библиотека .NET, которая позволяет мне писать sql совместимый со всеми.

Некоторое раздражение у меня было в таблице создания. Я думал, что первичные ключи авто увеличились, но они этого не делают. Я должен написать личность (1,1). Когда я перенес свой sqlite-код в mysql, у меня возникли проблемы и с таблицей создания, но я уверен, что будут другие места, как только мои SQL-операторы станут более сложными. Поэтому я подумал, что попытка библиотеки может быть хорошей идеей.

Ответы [ 3 ]

2 голосов
/ 16 декабря 2009

Я лично использую SubSonic в качестве ORM. Он поддерживает как SQL-Server и MySQL, так и SQLite. Создание базы данных - всегда сложный вопрос, но вы обычно не выполняете это часто. Я выбрал SQLite, так как он очень переносим и должен быть доступен при переносе кода с использованием Mono. TSQL (SQL-Server) является продуктом только для Windows и не является переносимым. Мои базы данных также не будут очень большими (<100 МБ), и это также может потребоваться для выбора. </p>

Я бы порекомендовал (на данный момент, пока не выйдет VS 2010), чтобы вы не использовали Entity Framework, поскольку это традиционный продукт MS v1.0 и очень проблематичный. Основные функции отсутствуют, а искусственные ограничения делают его менее полезным, чем другие ORM. Без сомнения, следующая версия будет лучше, но текущая версия не стоит вашего времени по сравнению с чем-то вроде SubSonic.

0 голосов
/ 16 декабря 2009

Возможно, вы захотите взглянуть на ADO.NET Entity Framework . Он поддерживает много разных бэкэндов.

0 голосов
/ 16 декабря 2009

ORM, такой как NHibernate или Entity Framework, будет поддерживать все эти SQL-серверы и многое другое. Это также избавит вас от написания всех ваших запросов SQL самостоятельно.

...