我无法理解为什么我的 EntityFramework 代码的上下文结果为 null。 当我尝试从数据库(SQLSERVER)检索表的列表时,代码抛出错误: “数据为 Null。不能对 Null 值调用此方法或属性。”
using (DbConnectionContext context = new DbConnectionContext(configuration)) //configuration -> IConfiguration
{
return context.Employee_Mail.ToList();
}
好吧。也许连接字符串存在一些问题,但我有另一个插入表的代码块,它可以工作!
所以我尝试在“插入”行之前放入代码:
using (DbConnectionContextcontext = new DbConnectionContext(configuration))
{
var table = new Employee_Model()
{
USERNAME = "[email protected]",
employee_typology = "some placeholder",
employee_code = "1234",
insert_date = DateTime.Now,
ID_EMAIL = "0000",
};
context.Employee_Mail.Add(table);
context.SaveChanges();
return context.Employee_Mail.ToList();
}
神奇地“插入”后,选择和上下文检索包含所有员工的列表...... 重点是什么?为什么在此之前它会抛出错误,指出上下文为空,而在“插入”之后才起作用? 随机的废话模因出现在我的脑海中
您的错误是“context.Employee_Mail = null”。也就是说,null变量没有tolist()方法。您应该已经注意到,当您没有向表中添加任何内容时(在调试器的帮助下),该变量为何为空。您可以向 Employee_Mail 添加新数据,在本地获取此值,或类似的操作。