2011-03-12 3 views
0

Я создаю приложение для отслеживания поиска заданий на C#/WPF, чтобы отслеживать представленные резюме, интервью, наблюдения и т. Д., И я не уверен в наилучшем способе хранения данных. Где/как вы будете хранить данные? Моя первая мысль была XML, чтобы она была простой, но мне кажется, что я должен «моделировать» мои данные, так как будет много связанных бит информации. Будет ли SQLite лучшим выбором? Другие рекомендации?Где хранить данные приложения

ответ

4

Поскольку я предполагаю, что вы хотите запросить и обновить эти данные, я бы даже предложил ORM, например, Entity Framework, - это легко начать, и основные вещи, такие как запрос и обновление, будут очень простыми, если вы раньше работали с LINQ - избавляет вас от необходимости писать собственные SQL-запросы. Это также позволит вам легко расширить свою модель позже, если вы решите это сделать.

Edit:

Есть автономные легкие альтернативы, которые все еще позволяют использовать LINQ:

SQL Server Compact:

Microsoft SQL Server Compact является бесплатно Встроенная база данных SQL Server идеально подходит для здания автономного и иногда co приложений для мобильных устройств , настольных компьютеров и веб-клиентов.

Вот article, в котором описано, как заставить LINQ to SQL работать над этим. Видимо, вы можете также на нем use LINQ to Entities, но есть причуды (например, поддержка времени разработки), которые вам придется обойти.

SQLLite:

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

Там есть поставщик LINQ для этого называется DBLinq Как @Robert Харви отметил в своем ответе есть (почти) полная поддержка EF, так как есть провайдер ADO.NET для SQLLite:

Поддержка ADO.NET 3.5 Entity Framework

Поддерживает почти все Entity Framework функциональность, которая поддерживает Sql Server и передает 99% тестов в MS EFQuerySamples demo приложение.

+0

Спасибо. Я только что изучил Entity Framework и хотел бы использовать LINQ для Entities, но я бы хотел найти легкий/однофайльный хранилище данных/поставщик данных. Какие-либо предложения? – BrazenTongue

+0

@BrazenTongue: Обновленный ответ с альтернативами – BrokenGlass

3

Как правило, вы хотите хранить данные из своего приложения в базе данных. Для WPF и C# эта база данных обычно является SQL Server или SQL Server Express, потому что Visual Studio 2008 легко интегрируется с ними.

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

SQL Server Express можно использовать на любом ПК с ОС Windows; вам просто нужно использовать deploy the redistributable,, используя именованный экземпляр. См. Также http://msdn.microsoft.com/en-us/library/dd981032(SQL.100).aspx. Если это небольшое приложение, и вы хотите упроститься, вы можете использовать SQL Server Compact Edition или SQLite с ADO.NET provider.

+0

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

+0

См. Мое редактирование .... –

+0

+1 для ссылки поставщика SQLite ADO.NET - отличная альтернатива – BrokenGlass

Смежные вопросы