将linq查询结果分配给变量时,可为Null的对象必须有一个值错误

将linq查询结果分配给变量时,可为Null的对象必须有一个值错误,linq,linq-to-sql,Linq,Linq To Sql,我创建了一个类类型(CustomerInfo)的变量来存储linq查询结果,并在查看或使用colResults变量时收到错误消息“nullable object必须有值”(SurveyDate是sql表中的nullable字段): 如果我将上述内容更改为: Dim colResults = From query In var _ ... _

我创建了一个类类型(CustomerInfo)的变量来存储linq查询结果,并在查看或使用colResults变量时收到错误消息“nullable object必须有值”(SurveyDate是sql表中的nullable字段):

如果我将上述内容更改为:

        Dim colResults = From query In var _
                         ...      _                       
                         Select New With { _
                            .Address = comp.Address, _
                            .SurveyDate= query.SurveyDate}
如果可以的话。有什么想法吗


谢谢。

您的“地址”或“ServeyDate”字段返回空值,并且您的CustomerInfo类不允许空值


第二个例子是生成一个允许空值的匿名类型。您能检查生成的实际类型吗?猜测SurveyDate在第二个示例中是一个可空的日期时间。

您的“地址”或“ServeyDate”字段返回空值,并且您的CustomerInfo类不允许空值

第二个例子是生成一个允许空值的匿名类型。您能检查生成的实际类型吗?在第二个示例中,猜测SurveyDate是一个可为空的日期时间

        Dim colResults = From query In var _
                         ...      _                       
                         Select New With { _
                            .Address = comp.Address, _
                            .SurveyDate= query.SurveyDate}