Тестовая аппликуха.
При подключении к бд гружу все записи из таблицы
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 запрос не изменился.
Что не так?