EntityFramework Data Annotations需要空整数

时间:2016-02-04 15:20:23

标签: c# wpf entity-framework ef-code-first

我对EntityFramework数据注释(代码优先)有一个小问题。

我想要整数/小数。

[Required]
public int? Nummer { get; set; }

但我有一个小问题。在我的WPF应用程序中,整数不能为空。请看下面的屏幕截图:

http://i.imgur.com/aGVbbLP.png

由于所需属性在文本框为空时不会更改为null。 它清晰可见所选行仍然有一个数字3,而它应该是空的......

我对'required'字符串没有这个问题。

enter image description here

为什么这是一个问题?因为现在当数字为“空”时,Opslaan(保存)按钮不会被禁用。

我可以通过手动再次进行数据验证来解决这个问题。 使用开关和IDataErrorInfo实现。

有人知道我是否可以借助数据注释来解决这个问题?

1 个答案:

答案 0 :(得分:2)

您可以像这样更新文本框的绑定:

<TextBox Text="{Binding Nummer, TargetNullValue=''}"/>

使用此绑定时,如果文本框的值为空字符串,则Nummer属性将设置为null。如果您未指定TargetNullValue,则无法将空字符串转换为int?,因此会出现转换错误。

只是一个让你做对的问题:当你想要Nummer时,为什么要使用int?作为数据类型而不是int