SqlNullValueException:“数据为 Null。无法对 Null 值调用此方法或属性。”

问题描述 投票:0回答:1

我无法理解为什么我的 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();
        }

神奇地“插入”后,选择和上下文检索包含所有员工的列表...... 重点是什么?为什么在此之前它会抛出错误,指出上下文为空,而在“插入”之后才起作用? 随机的废话模因出现在我的脑海中

c# sql-server entity-framework entity-framework-core
1个回答
0
投票

您的错误是“context.Employee_Mail = null”。也就是说,null变量没有tolist()方法。您应该已经注意到,当您没有向表中添加任何内容时(在调试器的帮助下),该变量为何为空。您可以向 Employee_Mail 添加新数据,在本地获取此值,或类似的操作。

© www.soinside.com 2019 - 2024. All rights reserved.