我有一个Customer类并使用XML响应来填充类中的一些数据,如下所示(ns是命名空间)
Dim GetCustomers = From c As XElement In XDoc.Descendants(ns + "customer")
Select New Customer With {.Name = c.Element(ns + "name"),
.Gender = CStr(c.Element(ns + "gender")),
.EndDate = CStr(c.Element(ns + "SubscriptionEndData"))}
有错误的行是EndDate,它是数据库中的Datetime类型....错误是" Message =" Value不能为null。参数名称:element""。为了测试我的理论,我将类型从dateTime更改为Nvarchar,代码可以正常工作。
如何将EndDate类型保留为datetime来解决此问题?我真的不想把它改成数据库中的NVARCHAR,因为后来我想用日期做一些计算。我尝试使用Key关键字的匿名类型,但是没有用,因此在搜索并玩游戏后我无法在上面添加if语句,所以我想必须有另一种我可能不知道的方式?对不起,Linq对XML和匿名类型很新,所以感谢任何指导。
由于
编辑:添加部分课程后
阅读此帖子How can I override the properties in partial class?我创建了以下类/接口
Public Interface ICustomer
Property EndDate As Nullable(Of DateTime)
End Interface
Partial Public Class Customer
Implements ICustomer
Public Property EndDate1 As Date? Implements ICustomer.EndDate
End Class