Мне было интересно, что представляет собой жизнеспособное решение для базы данных для локального хранилища на Windows Phone 7 прямо сейчас. Используя поиск, я наткнулся на эти 2 темы, но им уже несколько месяцев. Мне было интересно, есть ли какие-то новые разработки в базах данных для WP7. И я не нашел отзывов о базах данных, упомянутых в ссылках ниже.Что такое жизнеспособная локальная база данных для Windows Phone 7 прямо сейчас?
Мои требования:
- Он должен быть бесплатным для коммерческого использования
- Сохранение/обновление записи следует сохранить только фактическую запись и не вся база данных (в отличие от WinPhone7 DB)
- Возможность быстрого запроса по таблице с ~ 1000 записей с использованием LINQ.
- Следует также работать в тренажере
EDIT:
Просто попытался Sterling, используя простой тест приложение: Он выглядит хорошо, но у меня есть 2 вопроса.
Создание 1000 записей занимает 30 секунд с использованием
db.Save(myPerson)
. Человек - это простой класс с 5 свойствами.
Тогда я обнаружил, что существует методdb.SaveAsync<Person>(IList)
. Это прекрасно, потому что он больше не блокирует текущий поток.
BUT Мой вопрос: сохранен ли он на звонокdb.Flush()
и делает запрос в текущем сохранении IList? (потому что для сохранения записей в синхронном режиме требуется до 30 секунд). Или мне нужно подождать, пока BackgroundWorker закончит сохранение?Запросите эти 1000 записей с помощью LINQ, а предложение where в первый раз занимает до 14 секунд для загрузки в память.
Есть ли способ ускорить это?
Вот некоторые результаты тестов: (Модульное тестирование было выполнено на HTC Trophy)
----------------------------- purging: 7,59 sec creating 1000 records: 0,006 sec saving 1000 records: 32,374 sec flushing 1000 records: 0,07 sec ----------------------------- //async creating 1000 records: 0,04 sec saving 1000 records: 0,004 sec flushing 1000 records: 0 sec ----------------------------- //get all keys persons list count = 1000 (0,007) ----------------------------- //get all persons with a where clause persons list with query count = 26 (14,241) ----------------------------- //update 1 property of 1 record + save persons list with query count = 26 (0,003s) db saved (0,072s)
Я вижу, что есть два близкие голоса на предпосылке субъективно/аргументированным. Изменение формулировки «что является лучшим» для «того, что является жизнеспособным», должно касаться этого ... если Бужу не возражает против этой формулировки по его вопросу? –
ok thx, thats fine with me – Buju
Кстати, вы должны скачать последнюю версию. Была проблема с изолированным поставщиком хранилища, сейчас намного быстрее. –