2 つのオブジェクト (Foo
とBar
) があり、それらの間に 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"。
これを回避する方法はありますか?