Какого рода существует такая структура данных? - PullRequest
3 голосов
/ 27 июля 2010

Что я хочу сделать:

  • Загрузка значений для программы из файла.
  • Считывание / добавление / изменение этих значений.
  • Сохранение этихзначения обратно в файл
  • Я хотел бы иметь возможность иметь базу данных в файле
  • Я хочу, чтобы как можно больше данных оставалось в памяти, поэтому я не забиваюфайл
  • Я бы хотел запросить с помощью Linq или иметь возможность использовать стандартный язык запросов
  • Я хочу, чтобы данные возвращались как массивы объектов

Я полагаютам должно быть что-то подобное.Вроде как на основе GAE, но для C # и локальных приложений.

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

Ответы [ 3 ]

1 голос
/ 27 июля 2010

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

Вы можете просто использовать файл XML и Linq-to-XML, если вы действительно просторечь идет о каком-то файле конфигурации, который может находиться в памяти сразу.

Если вы говорите о большом количестве данных, вы можете посмотреть на базу данных, такую ​​как Sqlite или SQL Server Express или SQL Server Compact Edition..

1 голос
/ 27 июля 2010

Учитывая ваши требования, я бы рекомендовал взглянуть на Entity Framework .Он удовлетворяет почти всем вашим требованиям к запросам / обновлениям и работает со многими базами данных.

Для базы данных с одним файлом, которая работает с EF, вы можете рассмотреть SQL Server CE .Версия 4 в настоящее время находится в бета-версии и хорошо обрабатывает ваш отдельный файл, в основном в памяти и т. Д.

Единственное, что, используя LINQ с EF, вы получите свои объекты как IQueryable<T> или IEnumerable<T>, обычно не как массивы.Вы всегда можете вызвать .ToArray(), чтобы преобразовать их в массив, но обычно это не требуется.

0 голосов
/ 27 июля 2010

Вам нужен документ XML, к которому вы легко получаете доступ, используя Linq to XML.

XDocument.Load(memoryStream)

И вы уже в пути.

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