Движок базы данных для настольного приложения в C # - PullRequest
3 голосов
/ 14 сентября 2009

Мне нужен легкий движок базы данных для настольного приложения. Приложение не ориентировано на данные, хотя требует постоянных данных. Какой из них вы бы использовали MS SQL Server Express Edition или SQLite?

EDIT

Является ли SQL Server Compact edition бесплатным? Если это так, то как насчет выпуска SQLite против SQL Server Compact для разработки такого рода приложений?

Ответы [ 13 ]

10 голосов
/ 14 сентября 2009

Если вы работаете с C # и Visual Studio, просто щелкните правой кнопкой мыши свой проект и выберите «Добавить элемент ...», а в диалоговом окне выберите «Локальная база данных», это создаст SQL CE (Compact Edition) база данных. Он обладает большей частью функциональности SQL Express / Server, что касается таблиц, типов данных, представлений, но не допускает хранимых процедур. Он также работает с Linq-to-SQL, поэтому его легко интегрировать.

10 голосов
/ 14 сентября 2009

Определенно НЕ Sql Server Express. Это движок серверного класса. Вы хотите внутрипроцессный двигатель. В этом отношении SQLite хорошо. Как и Sql Server Compact Edition. Оба бесплатны и должны соответствовать вашим потребностям.

4 голосов
/ 21 октября 2009

Firebird является хорошо известной базой данных и поддерживает последнюю платформу Microsoft

4 голосов
/ 14 сентября 2009

Go с SQL Server Compact - вы можете использовать LINQ таким образом, который сам по себе стоит усилий.

Хотя SQLite является опцией, вам необходимо получить слой ORM, и прирост производительности будет минимальным / не будет существовать по сравнению с SQL Server.

2 голосов
/ 14 сентября 2009

Имейте в виду, что если вы используете SQL CE вместе с EF, вам придется сгенерировать свой собственный идентификатор ключа, поскольку SQL CE не поддерживает множественные запросы.

т.е: вставить -> выбрать ключ для объекта -> не хорошо

сгенерируйте ключ идентификатора (GUID или что-то еще), добавьте его к своей сущности, а затем вставьте -> хорошо

2 голосов
/ 14 сентября 2009

Кто-то любит новичков в мире встроенных БД .NET - VistaDb . Лицензия немного более ограничительна, чем Sql Server Compact (бесплатно только для отдельных разработчиков), но это 100% управляемая БД с развертыванием xcopy и интеграцией с инструментом VS.

2 голосов
/ 14 сентября 2009

А как насчет MS SQL Server Compact ?

2 голосов
/ 14 сентября 2009

Если это однопользовательская система, вы хотите посмотреть на MS SQL Server compact edition, а не Express (см. Здесь: http://www.microsoft.com/sqlserver/2008/en/us/compact.aspx)

Compact Edition - это встраиваемая база данных, похожая на SQLite.

К сожалению, я не могу давать рекомендации в любом случае.

2 голосов
/ 14 сентября 2009

SQLite, особенно если он однопользовательский. Один файл данных и одна DLL.

1 голос
/ 14 сентября 2009

Defo SQL lite, хотя он имеет некоторые ограничения / функции, о которых вам следует знать

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