我有两个对象(Foo和Bar),它们之间有一对一或零关系.因此,Foo具有对Bar.ID的可空外键引用和(
nullbusted)唯一索引以强制执行“1”方. Bar.ID是一个int,因此Foo.BarID是一个可以为null的int.
问题出现在.NET类型到SQL数据类型的LINQ-to-SQL DBML映射中.由于int在.NET中不是可空类型,因此它包含在Nullable< int>中.但是,这与int的类型不同,因此当我尝试在它们之间创建OneToOne关联时,Visual Studio会给出此错误消息:
Cannot create an association “Bar_Foo”. Properties do not have matching types: “ID”, “BarID”.
有没有解决的办法?
最佳答案 到目前为止,我通过将Bar.ID(主键)设置为CanBeNull =“true”来解决这个问题,这绝对是丑陋的.我希望在这里找到更好的解决方案.