Учитывая ваши требования, я бы рекомендовал взглянуть на Entity Framework .Он удовлетворяет почти всем вашим требованиям к запросам / обновлениям и работает со многими базами данных.
Для базы данных с одним файлом, которая работает с EF, вы можете рассмотреть SQL Server CE .Версия 4 в настоящее время находится в бета-версии и хорошо обрабатывает ваш отдельный файл, в основном в памяти и т. Д.
Единственное, что, используя LINQ с EF, вы получите свои объекты как IQueryable<T>
или IEnumerable<T>
, обычно не как массивы.Вы всегда можете вызвать .ToArray()
, чтобы преобразовать их в массив, но обычно это не требуется.