EDMX对象引用未设置为对象的实例

4

我在我的Web应用程序中多次使用了这段代码,但由于某种原因,这部分始终返回错误:对象引用未设置为对象的实例。

string username = "John";

using (TicketsEntities dbc = new TicketsEntities())
                {
                    var usr = from cs in dbc.Logins
                              where cs.FullName == username
                              select cs;

                    DataModel.Login lgn = usr.SingleOrDefault<DataModel.Login>();
                    string user = lgn.Email;
                    lbler.Text = user;
                }

我的数据库中只有一个名为“John”的条目。我已经进行了null测试,但在string user = lgn.Email;处仍会出现错误。


1
你确定大小写一致,而且John周围没有空格吗?FullName的数据类型是什么,如果是char,那么可能在末尾有空格。 - Habib
1个回答

2

我假设lgnnull,因为usr可能已经返回了默认值null并将其赋值给了lgn。 因此,您可以检查lgn是否不为null

if (lgn != null && !string.IsNullOrWhiteSpace(lgn.Email) {
   user = lgn.Email;
}

user = "User not found/Email has not been set";

谢谢。虽然字符串不应该为null(因为用户名从AD身份验证中读取),但如果我进行检查,它就可以工作。但是,如果我删除if语句,它会抛出异常。 - Dewald Henning

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接