Какую БД использовать в Windows Forms приложении, чтобы оно работало без установки Sql Server?
Здравствуйте, это мой первый вопрос на тостере, если что делаю неправильно, прошу сказать.
Проблема такая. Я изучаю C# уже пару месяцев. Сейчас добрался до Entity Framework, написал программку на Windows Forms, которая отображает данные в DataGridView из БД и с помощью Entity позволяет добавлять\редактировать\удалять данные из БД. Так вот всё это дело на моем компьютере работает нормально, а когда я запихиваю всё это в интсаллятор и устанавливаю на другой комп, программа не работает — в процессах висит, а форма не видна. Я так понимаю, надо использовать какую-нибудь лайт базу данных, чтобы работала без установки сервера. Но сколько ни копался в интернете, решить проблему не смог. То наткнулся на Sql Server Compact, потом узнал, что она больше не поддерживается, то на localDB, но и с ним не получилось, замучился короче. Скажите, плиз, какую мелкософтовскую базу использовать и, если не трудно, ссылку на туториал к ней.
Пы.Сы. Посоветуйте еще инсталлятор нормальный. Пользуюсь плагином Visual Studio Installer, но он меня не очень устраивает, билдится не всегда. Спасибо всем заранее))
А вы много знаете настольных приложений, которые используют локальную БД? Настолки как правило используют архитектуру "файл-сервер". Если очень хочется именно - БД, то лучше взять SQLite
Файл-сервер в данном контексте подразумевается - обработка программой файла, который ему подсовывает пользователь. Либо создание такого файла. Просто представьте какая БД в Microsoft Word или видеоплеере. Там используются xml/json/ini-конфиги и поедание файлов, передаваемых пользователем. БД используются крайне редко и под конкретные задачи(порой косвенно связанные с сетевым взаимодействием), например 1С Бухгалтерия. В случае Бухгалтерии - один из вариантов как раз SQLite
Легко встроить MS SQL сервер в свой инсталятор с помощью так называемого "пакета распостранения". Вот только я не помню детали такой операции :) Но если сильно надо то можно поискать.