使用 EF6 DbContext 为空
DbContext is empty using EF6
我使用 Visual Studio 2013 从现有数据库生成模型。该模型已生成,我可以使用该模型向数据库中添加一些条目。但是,每当我尝试从数据库中读取时,所有条目都返回为空。
我正在使用此代码:
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
它只会出现在数据网格中
data
只是查询。如果你想访问项目,你将不得不 实现查询 与 ToList()
或 ToArray()
例如。
无论如何,我也不明白您为什么要使用 linq 语句 - 没有必要!
您可以直接分配 dataGrid.ItemsSource = db.employees;
请参阅 MSDN 了解有关 LINQ 的详细说明。
我使用 Visual Studio 2013 从现有数据库生成模型。该模型已生成,我可以使用该模型向数据库中添加一些条目。但是,每当我尝试从数据库中读取时,所有条目都返回为空。
我正在使用此代码:
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
data
只是查询。如果你想访问项目,你将不得不 实现查询 与 ToList()
或 ToArray()
例如。
无论如何,我也不明白您为什么要使用 linq 语句 - 没有必要!
您可以直接分配 dataGrid.ItemsSource = db.employees;
请参阅 MSDN 了解有关 LINQ 的详细说明。