c# – (obj!= null)不起作用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – (obj!= null)不起作用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2033字,纯文字阅读大概需要3分钟。
内容图文
它接缝简单,但我真的不明白.我正在使用linq和Entity Framework通过这样的简单查询从数据库中检索对象
loggedinUser = (from user in context.Users
where user == _guid
select user).ToList()[0];
我知道我可以使用.FirstOrDefault(),但我不认为我的问题与我获取用户的方式有关.
获得用户后如果我检查这个条件
if (loggedinUser != null)
{
ToLocation = String.Format("{0} {1} {2} {3}", loggedinUser.StreetAddress,loggedinUser.City, loggedinUser.Province, loggedinUser.PostalCode);
}
它不起作用,好像它是null,但它不是.当我使用这个条件时它起作用.
if (loggedinUser == null)
{ }
else
{
ToLocation = String.Format("{0} {1} {2} {3}", loggedinUser.StreetAddress,loggedinUser.City, loggedinUser.Province, loggedinUser.PostalCode);
}
我总是使用这种类型的条件(Obj!= null)并且它可以工作,答案应该很简单,但我不知道为什么它不会这次.我错过了什么吗?
唯一的一点是这个实体的类位于另一个项目中.可能是问题吗?
这个类所在的项目是在VB.Net中:
<Table("Users")>
Public Class User
<Key()>
Public Property UserID As Integer
Public Property Username As String
Public Property PasswordEncrypted As String
Public Property LastLogin As DateTime
Public Property CreatedByUserID As Integer
Public Property DateCreated As DateTime
Public Property Deleted As Boolean '?
Public Property Email As String
Public Property StreetAddress As String
Public Property City As String
Public Property Province As String
Public Property PostalCode As String
<NotMapped()>
Public Property Lat As Double
<NotMapped()>
Public Property Lon As Double
Public Property GUID As String
<NotMapped()>
Public Property EULAAgreed As DateTime
Public Overrides Function ToString() As String
Return Username
End Function
Public Overrides Function Equals(ByVal obj As Object) As Boolean
If (obj Is System.DBNull.Value) Then
Return MyBase.Equals(obj)
ElseIf (TypeOf obj Is String) Then
Return MyBase.Equals(obj)
Else
Try
Return UserID = CType(obj, Entities.User).UserID
Catch ex As Exception
Return UserID
End Try
End If
End Function
结束班
解决方法:
这是因为LINQ-SQL / EF不会给你null.他们给你DBNull.
将您的比较更改为:
if (loggedinUser != DBNull.Value)
内容总结
以上是互联网集市为您收集整理的c# – (obj!= null)不起作用全部内容,希望文章能够帮你解决c# – (obj!= null)不起作用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。