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