Linq-to-SQL任务。
见图片。
当我尝试实例化时,我得到运行时异常'无法将null值赋给类型为XAccountId的成员,这是一个非可空值类型'。当我将Type从XAccountId更改为int时 - 一切都按预期工作。为什么?如何使用我的枚举作为键类型?
附加:虽然我在属性窗口中设置了Nullable = true,但生成的代码为private XAccountId _AccountId1 = default(XAccountId);
。那么... DBML生成器工作不正确?
附加2:http://social.msdn.microsoft.com/Forums/en-US/ee4f5703-570c-47bf-8003-bf15bd0f1441/map-nullable-enum与我的问题有关。 DBML生成器忽略枚举的CanBeNull =“true”。
答案 0 :(得分:1)
您可以将类型设置为XAccountId?
(带问号)。正如错误所述,您不能将空值分配给值类型,只能分配给引用类型;并且enum
是值类型。另一种方法是让你的列不可为空。