Медленно?
От: iGrog Финляндия  
Дата: 01.12.10 09:49
Оценка:
Приветствую.

Осваиваю BLToolkit
Делаю по-сценарию:

    public class GoodsDatabase : DbManager
    {
        public Table<Good> Good { get { return GetTable<Good>(); } }
    }

    [TableName("goods")]
    public abstract class Good : EditableObject<Good>
    {
        [Identity, PrimaryKey]
        public abstract int GID { get; set; }

        [MapField("title")]
        public abstract String Title { get; set; }
    }


Пытаюсь линком выбрать записи:


 using (var db = new GoodsDatabase())
 {
                var sw = new Stopwatch();

                sw.Start();
                db.SetCommand("SELECT title FROM goods WHERE GID != 1");
                var list = db.ExecuteScalarList<String>();
                sw.Stop();

                Console.WriteLine("Time 1: " + sw.ElapsedMilliseconds);

                sw.Reset();

                sw.Start();
                var goods = db.Good.Where(el => el.GID != 1).ToList();
                sw.Stop();

                Console.WriteLine("Time 2 : " + sw.ElapsedMilliseconds);
                Console.ReadKey();
}


Получаю вывод:
Time 1: 197
Time 2: 5071


Запускал десятки раз в debug/release — время LINQа всегда около 5 секунд.
Почему так и как сделать, что бы было быстро?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.