C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■95884 / )  Re[2]: コードファーストで多対多のテーブルをカスタマイズしたい
□投稿者/ じぇい (2回)-(2020/10/07(Wed) 10:09:39)
2020/10/07(Wed) 10:10:52 編集(投稿者)
2020/10/07(Wed) 10:10:48 編集(投稿者)

> BookCode というのが ISBN のようなユニークなものならそれを主キーにしてはいかがですか?

そもそもの話になるかもしれませんが、
自分的にも仰る通りBookCode(ナチュラルキー)を主キーにしたほうが分かりやすいのですが、
現行システムの焼き直しで、現行がそのようなDBになっていたので踏襲ということで、このような定義になっています。

また、世の中のWEB系フレームワーク(?)の主流がサロゲートキーを主キーにすることを推奨(?)しているようなのと、
現行はRuby(知りません)ですが、
今回使用するEntity Frameworkも書籍やサイト記事でも基本、IDという自動採番のプロパティが主キーになっているのも
このような定義になった理由の一つです。

どちらが良いか、アプリに合うかは別として、
Entity Frameworkでは自動採番の主キー以外(外部キー)でのリレーションはあまりにもイレギュラーなんでしょうか?
モデルバインドでBooks.BookGenres.Genresとジャンルが取得できたら便利だなと思いやってみたのですが。

まだ定義変更は可能なのでBookCodeを主キーにすることも検討してみますが、影響範囲はそれなりにありそうでして。。。


返信 編集キー/


管理者用

- Child Tree -