2012-07-30 102 views
0

我得到这个错误,一旦我尝试用null更新位字段。请注意,技术上该位设置为'允许为空'。更新一个空字段

正在此错误: “类型的对象‘System.DBNull’不能转换为类型” System.Nullable`

当我这样做:

e.NewValues.Add("IdleBlock", DBNull.Value); 

回答

0

尝试使用实际null而不是DBNull.Value。正如你可以在错误信息中看到的,它试图将后者转换为null,所以我猜EF想要一个合适的空值并自行处理转换。

编辑:呃,其实我觉得我错了。它想要System.Nullable不是null。尝试通过一个新的System.Nullable与Value设置为null

+0

我试过之前尝试DBNULL.Value,由于一些奇怪的原因,它将空作为虚假O.o – rtp 2012-07-30 07:02:28

+0

更新了我的答案,但我在黑暗中拍摄在这里。目前没有VS提供给我,所以不能自己尝试。 – 2012-07-30 07:04:38

+0

好的我试过这个: System.Nullable test = null; e.NewValues.Add(“IdleBlock”,test); – rtp 2012-07-30 07:07:57