4

2 つのオブジェクト (FooBar) があり、それらの間に 1 対 0 または 1 の関係があります。したがって、Foo には、Bar.ID への null 許容外部キー参照と、"1" 側を強制する ( nullbusted ) 一意のインデックスがあります。Bar.ID は int であるため、Foo.BarID は null 許容の int です。

この問題は、.NET 型から SQL データ型への LINQ-to-SQL DBML マッピングで発生します。intは .NET では null 許容型ではないため、Nullable<int>. ただし、これは と同じ型ではないintため、これらの間に OneToOne アソシエーションを作成しようとすると、Visual Studio から次のエラー メッセージが表示されます。

関連付け "Bar_Foo" を作成できません。プロパティに一致するタイプがありません: "ID"、"BarID"。

これを回避する方法はありますか?

4

1 に答える 1

2

これまでのところ、Bar.ID (主キー) を に設定することでこの問題を回避してきましたが、これは明らかCanBeNull="true"に見苦しいものです。ここでより良い解決策を期待しています。

于 2010-05-31T22:52:00.773 に答える