繁体   English   中英

Linq-to-SQL外键是枚举

[英]Linq-to-SQL foreign key is enum

Linq-to-SQL任务。

看图片。

在此处输入图片说明在此处输入图片说明

在此处输入图片说明在此处输入图片说明

在此处输入图片说明

当我尝试实例化它时,我收到运行时异常“无法将空值分配给XAccountId类型的成员,该类型是非空值类型”。 当我将类型从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”的枚举。

您可以将type设置为XAccountId? (带问号)。 正如错误所言,您不能将null分配给值类型,而只能分配给引用类型。 enum是一个值类型。 替代方法是使您的列不可为空。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM