我有一个使用 linq to sql 和 SQL Compact 数据库的 vb.net 应用程序。我刚刚将数据库中的日期字段更新为可以为空,并使用 sqlmetal 重新生成了 dbml。现在,当我运行应用程序时,单击“搜索”按钮后出现此运行时错误:
找不到方法:'System.Nullable`1 Downtime.Students.get_DateOfBirth()'。
我注意到我对数据类型所做的最后一次更改也引起了问题。也许我没有更新 dbml 文件对吗?它在 .designer.vb 文件中为 dateOfBirth 字段提供了这个方法:
<Global.System.Data.Linq.Mapping.ColumnAttribute(Name:="dateOfBirth", Storage:="_DateOfBirth", DbType:="DateTime")> _
Public Property DateOfBirth() As System.Nullable(Of Date)
Get
Return Me._DateOfBirth
End Get
Set
If (Me._DateOfBirth.Equals(value) = false) Then
Me.OnDateOfBirthChanging(value)
Me.SendPropertyChanging
Me._DateOfBirth = value
Me.SendPropertyChanged("DateOfBirth")
Me.OnDateOfBirthChanged
End If
End Set
End Property