Существуют ли какие-либо классы, которые могут быть запрошены / изменены, как БД, но являются полностью локальными и внутренними для программы? - PullRequest
9 голосов
/ 01 марта 2010

Существуют ли какие-либо классы, которые могут быть запрошены / изменены, например, БД SQL, но являются полностью локальными и внутренними для программы?

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

Данные будут доступны только во время работы программы, то есть не будет никакого другого процесса, выполняющего такие данные, как сервер SQL.

Ответы [ 4 ]

5 голосов
/ 01 марта 2010

Вы можете использовать SQL Server Compact Edition. Он размещен в процессе и локально использует файл .sdf. Он работает с LINQ и конструктором LINQ-to-SQL. Чтобы использовать его, вам просто нужно добавить ссылку на System.Data.SqlServerCe.dll. Он очень легкий, знакомый и имеет отличную поддержку в Visual Studio.

В дополнение к этому, команда разработчиков Visual C ++ использует эту базу данных для своей информации C ++ IntelliSense в Visual Studio 2010, заменяя старые файлы .ncb. Исходя из заявленных целей, заложенных в проект (переписать C ++ IDE для значительного улучшения производительности и стабильности IntelliSense), его использование здесь говорит о многом.

4 голосов
/ 01 марта 2010

Вы можете использовать SQLite с DBLinq .

1 голос
/ 01 марта 2010

DataSets позволяет хранить и обрабатывать несколько таблиц данных в памяти.

LINQ to DataSets является частью .NET 3.5: http://msdn.microsoft.com/en-us/library/bb386977.aspx

Это позволит использовать пользовательский формат хранения, если вы запишете сериализацию и десериализацию в набор данных для вашего формата.

Если вы не хотите создавать свой собственный формат файла, SQL Server Compact Edition (или SQL Express), вероятно, будет более простым вариантом (как в другом ответе).

1 голос
/ 01 марта 2010

XML приходит на ум. Я не уверен, пытаетесь ли вы на самом деле сохранить данные в файл или хотите сохранить их полностью в памяти. Но с XML вы можете использовать LINQ to XML для запросов, и у него хорошая структура, его легко сохранить в файл и т. Д.

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