我对EntityFramework数据注释(代码优先)有一个小问题。
我想要整数/小数。
[Required]
public int? Nummer { get; set; }
但我有一个小问题。在我的WPF应用程序中,整数不能为空。请看下面的屏幕截图:
由于所需属性在文本框为空时不会更改为null。 它清晰可见所选行仍然有一个数字3,而它应该是空的......
我对'required'字符串没有这个问题。
为什么这是一个问题?因为现在当数字为“空”时,Opslaan(保存)按钮不会被禁用。
我可以通过手动再次进行数据验证来解决这个问题。 使用开关和IDataErrorInfo实现。
有人知道我是否可以借助数据注释来解决这个问题?
答案 0 :(得分:2)
您可以像这样更新文本框的绑定:
<TextBox Text="{Binding Nummer, TargetNullValue=''}"/>
使用此绑定时,如果文本框的值为空字符串,则Nummer
属性将设置为null
。如果您未指定TargetNullValue
,则无法将空字符串转换为int?
,因此会出现转换错误。
只是一个让你做对的问题:当你想要Nummer
时,为什么要使用int?
作为数据类型而不是int
?