使用WPF和EF以及两者都是新的。我可能会使用错误的术语。
使用EF向导和代码生成器,我使用几个表设置EF,其中一个是查找表。
我设置了一个带有数据网格的表单,供用户编辑此查找表中的项目。我遇到的一个问题是用户可以编辑单元格,然后关闭表单,但单元格的编辑不会更新底层SQL数据库。我研究了INotifyPropertyChanged,它似乎就是我所需要的。
我将INotifyPropertyChanged实现到绑定到datagrid的类。在实现之前,datagrid显示所有空值。实现后,当读取第一个空值时,将显示一条消息,表明可空对象必须具有值。
代码:
Public Property ProcedureName As String
Get
Return _ProcedureName
End Get
Set(value As String)
_ProcedureName = value
RaisePropertyChanged("ProcedureName")
End Set
End Property
Private _ProcedureName As String
异常发生在“_ProcedureName = value”。
全班:
Imports System
导入System.Collections.ObjectModel
部分公共类tlkpProcedures_PartB 继承PropertyChangedBase 公共财产CPT为字符串 得到 返回_CPT 结束了 设置(值为字符串) _CPT =值 RaisePropertyChanged( “CPT”) 结束集 结束财产 私有_CPT字符串 公共属性ProcedureName As String 得到 返回_ProcedureName 结束了 设置(值为字符串) _ProcedureName = value RaisePropertyChanged( “PROCEDURENAME”) 结束集 结束财产 Private _ProcedureName As String
Public Property BillingAmount As Nullable(Of Decimal)
Get
Return _BillingAmount
End Get
Set(value As Nullable(Of Decimal))
_BillingAmount = value
RaisePropertyChanged("BillingAmount")
End Set
End Property
Private _BillingAmount As Decimal
Public Property UniqueID As Integer
Public Overridable Property tblBilling_PartB As ObservableCollection(Of tblBilling_PartB) = New ObservableCollection(Of tblBilling_PartB)
结束班
感谢任何帮助或建议。
答案 0 :(得分:0)
我不擅长VB,但您似乎尝试将Nullable
(value As Nullable(Of Decimal)
)分配给不可为空(Private _BillingAmount As Decimal
)。
您应该将value
转换为Decimal
或将_BillingAmount
定义为Nullable(Of Decimal)
。