使用EF6,DbContext为空

时间:2015-03-08 14:16:31

标签: c# wpf entity-framework datagrid

我使用 Visual Studio 2013 从现有数据库生成模型。生成模型,我可以使用此模型向数据库添加一些条目。但是,每当我尝试从DB读取时,所有条目都返回为null。

我正在使用此代码:

using (MaintenanceDB db = new MaintenanceDB())
{
    try
    {
        var data = from e in db.employees select e;
        dataGrid.ItemsSource = data;                        
    }
    catch (Exception)
    {
    }
}

变量data为空,数据网格中没有任何内容。我尝试使用调试器在 Count属性为0

中进行检查

我尝试使用:

db.employees.Find("H1992");

在这种情况下,我可以找到想要的条目。但是,如果我使用db.employees.Local

,它只会出现在数据网格中

1 个答案:

答案 0 :(得分:1)

data只是查询。如果您想要访问项目,则必须使用ToList()ToArray() 实现查询

无论如何,我不明白你为什么要使用linq语句 - 没有必要!

您可以直接指派dataGrid.ItemsSource = db.employees;有关LINQ的详细说明,请参阅 MSDN