从Windows应用商店下载应用程序后,SQLite SELECT非常慢

时间:2013-12-21 12:36:21

标签: c# sqlite windows-phone-8 windows-store sqlite-net

我的Windows Phone 8应用程序(C#/ XAML / SQLite)在我在Windows商店中发布后,工作速度非常慢,因为" beta"然后安装到我的智能手机(Lumia 620)。那些"冻结"我的应用程序执行的位置选择sqlite数据库文件。在没有数据库查询的页面上,一切都很完美。所以我认为就是这样。

我不明白的是,当我从Visual Studio部署它时,具有完全相同设置的应用程序正常工作。

我在nokia.com上使用了本主题中描述的sqlite - http://developer.nokia.com/Community/Wiki/How_to_use_SQLite_in_Windows_Phone

我的解决方案中有c ++ sqlite项目,sqlite-net包中有两个文件(SQLite.cs和SQLiteAsync.cs)

构建配置是"发布"和平台是" ARM"。

数据库查询示例:

using MyApp.Model.Entities;
using System.Collections.Generic;

namespace MyApp.DAL
{
    public class MyAppRepository
    {
        private string dbPath = @"Assets/words.db";

        public List<Word> GetWordsByCatId(int id)
        {
            var sql = string.Format(@"
SELECT w.[id],
       w.[word_en],
       w.[word_ru]
  FROM words w INNER JOIN word_links l ON w.[id]=l.[word]
 WHERE l.category = {0};", id);

            using (var conn = new SQLite.SQLiteConnection(dbPath))
            {
                var list = conn.Query<Word>(sql);
                return list;
            }
        }

        public List<Cat> GetCats2()
        {
            var sql = string.Format(@"
SELECT c.[id],
       c.[name_en],
       c.[name_ru],
       COUNT(l.[id]) words
  FROM categories c
    LEFT JOIN word_links l ON c.[id]=l.[category]
 GROUP BY c.[id]
HAVING words>1;");

            using (var conn = new SQLite.SQLiteConnection(dbPath))
            {
                var list = conn.Query<Cat>(sql);
                return list;
            }
        }

        public List<Cat> GetCatsByWordId(int id)
        {
            var sql = string.Format(@"
SELECT c.[id],
       c.[name_en],       
       c.[name_ru]
  FROM categories c INNER JOIN word_links l ON c.[id]=l.[category]
 WHERE l.word = {0};", id);

            using (var conn = new SQLite.SQLiteConnection(dbPath))
            {
                var list = conn.Query<Cat>(sql);
                return list;
            }
        }
    }
}

0 个答案:

没有答案