DB に外部キーを作成するのに少し問題があります。これは、私のテーブルがどのように見えるかを言い換えたモデルです。
ノート
* (PK) NOTE_ID BIGINT
* TITLE VARCHAR(200)
* DATE DATETIME
* SERIES_ID BIGINT
シリーズ
* (PK) SERIES_ID BIGINT
* TITLE VARCHAR(200)
* DESCR VARCHAR(1000)
NOTE
とSERIES
byの間に「has a」関係を作成しようとしていますSERIES_ID
。2 つのテーブル間に外部キーを設定するSERIES_ID
ことで解決できると思いましたが、作成しようとすると次のエラーが発生します。
エラー: 参照テーブル 'dbo.SERIES' には、外部キー 'FK_SERIES _NOTE 'の参照列リストと一致する主キーまたは候補キーがありません。制約を作成できませんでした
セットアップした GoDaddy SQL Server に付属の Web データベース マネージャーを使用しているため、基になるクエリが何を使用しようとしているのか、投稿するのかわかりません。
結局のところ、Note オブジェクトの NHibernate マッピングに Series オブジェクトとの 1 対 1 の関係が含まれるように、関係を作成するのはこれだけです。ただし、外部キーを使用してこれに正しい方法で取り組もうとしているわけではないかもしれません。
私はこれを正しい方法で行っていますか?
編集: テーブルをより単純な例にペアリングしようとして、重要ではないいくつかの列と思われるものを削除しました。ただし、実際にはシリーズ テーブルの複合主キーの一部であるフィールドを残してしまいました。そのため、複合キーの一部だけに外部キーを割り当てようとしていたため、そうすることができませんでした。
最後に、テーブルの構造をもう一度調べたところ、複合キーの他の部分は実際には必要ないことがわかりました。削除した後、外部キーの割り当てがうまく機能するようになりました。