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