Есть ли что-то лучше, чем сериализованный XML для хранения простой базы данных в C #, которую можно скомпилировать в моей собственной сборке? - PullRequest
4 голосов
/ 23 декабря 2011

Я делаю простое приложение, которое требует хранения простой структуры данных.Нечто похожее на работу для сериализованного XML, но ... я помню, что где-то читал о том, что было лучше для этой работы, но достаточно просто для компиляции в моем собственном приложении.но выглядит как излишнее, и мне было бы трудно заставить его скомпилироваться в моей собственной сборке

Вы знаете что-то лучше, чем сериализованное хранилище XML?

edit : Я знаю о SQLite, Compact SQL, db4o, но я ищу что-то крошечное.

Ответы [ 4 ]

2 голосов
/ 23 декабря 2011

Вы можете использовать двоичный формат Google "Protocal Buffers".Марк Гравелл создал реализацию .net.(обратите внимание, я никогда не использовал его сам):

http://code.google.com/p/protobuf-net/

(с веб-страницы Protobug):

Разработанобыть:

  • небольшого размера - эффективное хранение данных (намного меньше, чем xml)
  • дешевое для обработки - как на клиенте, так и на сервере
  • независимо от платформы -возможность переноса между различными архитектурами программирования
  • расширяемый - для добавления новых данных в старые сообщения

protobuf-net - это реализация .NET, позволяющая вам эффективно сериализовать ваши объекты .NET ибез труда.Он совместим с большинством семейств .NET, включая .NET 2.0 / 3.0 / 3.5, .NET CF 2.0 / 3.5, Mono 2.x, Silverlight 2 и т. Д.

(конец цитаты)

1 голос
/ 29 марта 2013

Встроенная в iBoxDB объектная база данных nosql, размером менее 200 КБ, включает множество функций, полных управляемого кода, без какого-либо 'DllImport', встраивает DLL в скомпилированный исполняемый файл C # здесь

Встраивание DLL вскомпилированный исполняемый файл , http://iboxdb.codeplex.com/

0 голосов
/ 23 декабря 2011

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

0 голосов
/ 23 декабря 2011
...