0

我有一个使用 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
4

1 回答 1

0

解决方案,有点:我最终完全删除了 dbml 文件,使用 sqlmetal 重新生成 dbml,然后重新添加到项目中。

于 2013-02-14T19:22:09.483 回答