私はASP.NETとEntity Frameworkを使ってウェブサイトを作っています。私は現在、ユーザーとサッカーチームとの間の多対多の関係のためのマップテーブルを持っています。だから、:外部キーにも使用されるマップテーブルにコンポジットキーを使用する必要がありますか?
ユーザー
チーム
UserTeams
パート1:それはマップテーブルの主キーのための複合キーを使用することをお勧めはありますか?
UserTeamsテーブル
PKユーザーID
PK TeamId
PreferenceId
パート2:他の言葉での注意点は、私はまた、別のテーブルを持っているということです。それを "UserTeamPredictions"と呼ぶことにしましょう。このUserTeamPredictionsは、各チームのユーザーの予測を毎年保存します。そのテーブルには、マップテーブルを指す外部キーがあります。これは、エンティティで正常に動作するようです
UserTeamPredictionsテーブル
PK UserTeamPredictionId
FKユーザーID
FK TeamId
予測 PredictionYear
:だから、次のようになりますフレームワーク、しかし、私は関係を参照するときにいくつかの問題がありました私がTelerikのように使用するサードパーティのコントロールでps。理想的なデータ設定ではないかもしれませんが、データバインディングなどのコードで作業しやすいように、テーブルの構造や関係を変更する必要がありますか?
それが現在そうであるよう変化が複合キーを介して代わりに、直接キーを参照するUserTeamPredictionsテーブルを可能にUserTeamsマップテーブルに整数主キーを追加することであろう。
UserTeamsテーブルを
PK UserTeamId
FKユーザーID
FK TeamId
PreferenceId
UserTeamPredictionsテーブル
PK UserTeamPredictionId
FK UserTeamId
予測 PredictionYear
あなたはどう思いますか!?
私はサロゲートを使用するように切り替えましたが、それまでは正常に動作しています。ありがとう。 –