查询始终返回所有记录

时间:2017-03-01 18:59:47

标签: c# linq linq-to-sql entity-framework-6

我有这个查询

const foo

查询将创建以下SQL(我正在使用_context.Database.Log = s => System.Diagnostics.Debug.WriteLine(s);来获取SQL)

_context.LaserData
    .OrderBy(x => x.F1).ThenBy(x => x.Kant)
    .Where(x => x.Avdelning.StartsWith("AME"))
    .Load();

    result = _context.LaserData.Local;

如果我在Microsoft SQL Server Management Studio中运行SQL查询,则会获得4条记录。

如果我在程序中运行查询,我会得到1823条记录,这是表中的所有记录。

任何人都可以看到我做错了什么?

编辑:该查询用于填充绑定到DataGrid的ObservableCollection。

1 个答案:

答案 0 :(得分:2)

我的猜测是您的上下文已经在前一个查询中本地跟踪了LaserData个项目。相反,您应该直接查询数据库:

result = _context.LaserData
    .OrderBy(x => x.F1).ThenBy(x => x.Kant)
    .Where(x => x.Avdelning.StartsWith("AME"))
    .ToList();