Самая эффективная внутренняя база данных для медиаплеера - PullRequest
2 голосов
/ 25 апреля 2009

В настоящее время я изучаю C # и .NET (из истории UNIX) и только начал писать медиаплеер. Я надеялся на некоторые предложения о лучшем способе хранения внутренней базы данных песен. SQL? Какой-то текстовый файл? У меня нет особого опыта в этой области, поэтому все пункты будут по достоинству оценены.

Ура!

Ответы [ 4 ]

4 голосов
/ 25 апреля 2009

Вы, вероятно, должны использовать SQLite, и вы можете использовать LINQ для этого, чтобы в полной мере использовать C # 3.5.

http://www.codeproject.com/KB/linq/linqToSql_7.aspx

1 голос
/ 25 апреля 2009

Здесь задействован целый спектр требований, чтобы назвать несколько:

  • многопользовательский?
  • ожидаемый размер (ы)
  • Вы хотите также хранить мультимедийные двоичные файлы?

для текстовых файлов со сложными структурированными данными не очень хорошо.

для хранения двоичных файлов я бы не использовал XML

Так что, вероятно, это будет: какую базу данных Sql использовать? Вы можете искать обсуждения SQLite, Sql Express, SqlCE и т. Д.

1 голос
/ 25 апреля 2009

Существует также SQL Server Compact. Linq to Sql также работает с этим.

0 голосов
/ 25 апреля 2009

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

Это архитектуры. Из приведенного выше краткого описания кажется, что то, что вы создаете, представляет собой функциональность, подобную библиотеке проигрывателя Windows Media. Если это так, то предложение базы данных SQL может показаться уместным, но усложнение синхронизации файловой системы (вы не планировали превращать медиафайлы для воспроизведения в монолитное хранилище данных, не так ли?)

Если вы беспокоитесь только о сохранении плейлистов ... текстовый формат кажется подходящим.

Списки воспроизведения могут хотеть быть основанными на тексте (которые, на мой взгляд, включают в себя XML-представления графа объектов), но информация из библиотеки, по-видимому, должна находиться в более надежном, более запрашиваемом хранилище данных.

База данных объектов также может быть подходящей, поскольку она позволяет работать с гораздо более прозрачным представлением о постоянстве по сравнению с другими предложениями. Выделение количества новых тем, с которыми вы сталкиваетесь во время обучения, может быть важным способом управления кривой обучения. У db4o есть вариант .Net, который я недавно не рассматривал.

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