4

我有两个对象 (FooBar),它们之间具有一对零或一的关系。因此, Foo 具有对 Bar.ID 的可空外键引用和(nullbusted)唯一索引以强制执行“1”侧。Bar.ID 是一个 int,因此 Foo.BarID 是一个可为空的 int。

该问题出现在 .NET 类型到 SQL 数据类型的 LINQ-to-SQL DBML 映射中。由于int在 .NET 中不是可为空的类型,因此它被包装在Nullable<int>. 但是,这与 不同类型int,因此当我尝试在它们之间创建 OneToOne 关联时,Visual Studio 会给出以下错误消息:

无法创建关联“Bar_Foo”。属性没有匹配的类型:“ID”、“BarID”。

有没有解决的办法?

4

1 回答 1

2

到目前为止,我已经通过将 Bar.ID (主键)设置为 来解决这个问题CanBeNull="true",这绝对是丑陋的。我希望在这里有更好的解决方案。

于 2010-05-31T22:52:00.773 回答