1

オプションの 1 対多の関係を含むデータベースがあります。この関係を 1 対 1 の必要な関係に変換したいと考えています。たとえば、1 匹の魚が存在するには 1 つの水槽が必要であり、その魚が水槽を持つと、他の魚はその水槽を持つことができなくなります。しかし、魚が1匹いなくても1つの水槽は存在できます。持っているデータを残したい。私の問題は、update-database を実行しようとしたときです。エンティティ フレームワークは、外部キーがフィッシュ テーブルの主キーになるため、意味のある 2 つの ID を持っていることを確認します。どうすればこれを回避できますか?

C# と SQL Server を使用しています。

4

1 に答える 1

0

本当に1対1の関係になる場合、それを処理する最も簡単な方法は、それらを同じレコードに保存することです:

CREATE TABLE Tank
(
    tank_id    Int IDENTITY NOT NULL,
    fish_id    Int NULL
)

(魚のいないタンクの fish_id 値は NULL になります)

于 2013-07-08T15:51:09.730 に答える