[EF Code first] не фильтруются записи
От: BlackEric http://black-eric.lj.ru
Дата: 13.04.17 08:38
Оценка:
Тестовая аппликуха.
При подключении к бд гружу все записи из таблицы

 db = new EricDbContext(String.Format(originalConnectionString,  passw));
 try
 {
                db.Phones.Load();

                //var query = from p in db.Phones
                //            select p;
                this.phonesBindingSource.DataSource = db.Phones.Local.ToBindingList();



                phonesDataGridView.Visible = true;
                phonesDataGridView.Refresh();

                toolStripStatusLabel1.Text = String.Format("From dbo.Phones read {0} record(s)", db.Phones.Local.Count);
 }catch(Exception ex)
 {
                toolStripStatusLabel1.Text = ex.Message;
                db.Dispose();
 }


С бд подгружаются все 5 записей.
{SELECT 
    [Extent1].[id] AS [id], 
    [Extent1].[model] AS [model], 
    [Extent1].[price] AS [price], 
    [Extent1].[scount] AS [scount]
    FROM [dbo].[Phones] AS [Extent1]}

Все корректно.

Далее пытаюсь получить только записи с scount >= 10

        private void getRecordsWithCount10ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            db.Phones.Where(x => x.scount >= 10).Load();
            
            phonesDataGridView.Refresh();

            toolStripStatusLabel1.Text = String.Format("From dbo.Phones read {0} record(s)", db.Phones.Local.Count);
        }


Профайлер показывает, что на сервер ушел корректный запрос

SELECT 
    [Extent1].[id] AS [id], 
    [Extent1].[model] AS [model], 
    [Extent1].[price] AS [price], 
    [Extent1].[scount] AS [scount]
    FROM [dbo].[Phones] AS [Extent1]
    WHERE [Extent1].[scount] >= 10
,
но в по прежнему 5 записей и дебаггер показывает, что в db.Phones запрос не изменился.

Что не так?
https://github.com/BlackEric001
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.