C# C将sql datetime与null进行比较

C# C将sql datetime与null进行比较,c#,linq,sql-server-2008,asp.net-mvc-4,C#,Linq,Sql Server 2008,Asp.net Mvc 4,我正在ASP.NETMVC4中创建一些东西,在我的一个表中有一个datetime类型的字段。此字段在更新之前默认为null。我正在尝试从此表中选择此字段为null的行,但我的LINQ查询始终不返回任何内容。这是我的问题 from m in this._db.MessageReadStates where m.UserName == name && m.ReadDate == null select m 我是C新手,所以有没有检查null的正确方法?要检查可为null

我正在ASP.NETMVC4中创建一些东西,在我的一个表中有一个datetime类型的字段。此字段在更新之前默认为null。我正在尝试从此表中选择此字段为null的行,但我的LINQ查询始终不返回任何内容。这是我的问题

from m in this._db.MessageReadStates
where m.UserName == name
      && m.ReadDate == null
select m
我是C新手,所以有没有检查null的正确方法?

要检查可为null类型的HasValue属性:

要检查可为空类型的HasValue属性:


ReadDate的.NET类型是什么?DateTime还是DateTime?这篇文章似乎解决了你的问题。ReadDate的.NET类型是什么?DateTime或DateTime?这篇文章似乎解决了您的问题。结果出现此警告-给定的表达式决不是为响应您在问题注释中对类型的澄清而编辑的“System.DBNull”。结果出现此警告-给定的表达式决不是为响应您的请求而编辑的“System.DBNull”澄清问题评论中的类型。
&& !m.ReadDate.HasValue