Подтвердить что ты не робот

Какая лучшая база данных для настольного приложения С#? (НЕТ СЕТИ)

Что я должен использовать? Мне нужно хранить данные, и это нужно только на локальном компьютере. Я буду хранить все строковые переменные и во многих столбцах.

Что лучше? Будет ли это даже база данных?

4b9b3361

Ответ 1

Я бы рекомендовал db4o - движок базы данных объекта. Это довольно просто, и на клиенте не требуется сервер или установка. Другой альтернативой будет SQLite. Вы можете получить .NET-провайдер здесь.

Edit

См. учебник db4o здесь.

Ответ 2

SQL Server Compact 3.5 с пакетом обновления 1 (SP1) не требует установки (вам просто нужно доставить DLL, хотя проверьте лицензионное соглашение, если это разрешено) и довольно прямолинейно использовать.

Ответ 3

Я бы рекомендовал использовать sqlite, это очень быстрая файловая, встроенная в функциональность, богатая базами данных. У меня есть легкий ORM с привязками С#, который абстрагирует и упрощает доступ к нему. Ниже приведена живая демонстрация веб-сервиса с использованием sqlite.

О, да, db4o - хороший выбор, который также имеет привязки базы данных С#, который поддерживает автоматические свойства С# (по умолчанию db4o провайдер) и другие общие сценарии доступа к данным.

Ответ 4

Вы должны посмотреть на SQLite, если вы ищете RDBMS или что-то вроде MongoDB, если вы храните объекты или подобные.

Ответ 5

Почему не SQL Server Express? Это даже бесплатно.

Ответ 6

Я очень рекомендую проверить структуру сериализации. Он даже не близок к производительности базы данных, НО, если вы не говорите о большом количестве данных, это на 100% меньше накладных расходов. Сериализация объектов в файл в .net - это дочернее воспроизведение:

XmlSerializer serializer = new XmlSerializer(typeof(myObjectType));

using(FileStream stream = new FileStream("file", FileMode.Create, FileAccess.Write)
{
   serializer.Serialize(stream, myObject);        
}

Что это!

Чтение назад в значительной степени противоположно. LINQ предоставляет еще больше возможностей. Опять же, это даже не близко к db с точки зрения производительности, но я видел много и много реализаций, в которых база данных была чрезмерной избыточностью для объема хранимых данных. Очевидно, что если у вас есть явная потребность в масштабировании и т.д., Вам нужно планировать это. Правильный инструмент для правильной проблемы и всего этого.

Ответ 7

Если вы просто хотите хранить небольшой объем данных в довольно простой структуре и не собираетесь выполнять сложные запросы, рассмотрите XML файл. Вам не нужно дополнительное программное обеспечение, и вы можете легко с ним работать, используя LINQ to XML.

Ответ 8

XML может вместо вашего требования!

Ответ 9

ознакомьтесь с memcache, если вы хотите очень быструю скорость. Но они не записываются на жесткий диск, поэтому вам может понадобиться другой упомянутый db, если вы хотите хранить их на разных сеансах. В моем проекте мы используем mongodb для буферизации данных и использования memcache для буферизации mongo. Таким образом, данные будут извлекаться из memcache сначала, если не найдены, попробуйте mongo. Если все еще не найден, мы получаем новые данные.

Для окон и .net посмотрите here