エンティティフレームワークでモデルを作成しようとしていますが、最初にコードを使用してモデルを作成しようとしています。エンティティフレームワークのコードファーストクラスの関係
私のデータベースには現在3つのテーブルがあります。ステータステーブルには、Webアプリケーション全体で使用されるすべてのステータスがあります。私はニューステーブルを持っています。そして、私はニュースステータステーブルを持っています。私がこれを好きにした理由は、ニュース項目にすべてのステータスを利用できないようにしたいからです。だから私の3つのテーブルは次のようになります。
ニュース表:
NewsId int required primary key
Title varchar required
Body varchar required
NewsStatusId int required foreign key
NewStatus表:
NewsStatusId int required primary key
StatusId int required foreign key
ステータス表
StatusId int required primary key
Name varchar required
このためのクラスを作成し、実行しますNews、Status、およびNewsStatusのクラスを作成する必要がありますか?私はニュースとステータスだけを考えていましたか?私の関係は2/3クラスの間でどのように見えますか?これらのクラスは2/3クラス間の関係でどのように見えるか
public class Status
{
public int StatusId { get; set; }
public string Name { get; set; }
}
:
マイニュースクラスは、この
public class News
{
public int NewsId { get; set; }
// rest of my properties
public int StatusId { get; set; }
}
ステータスクラスのように見えますか?
すべてのコードサンプルは高く評価されます。
ありがとうございます。それでもNewsStatusテーブルが必要ですか?私は、NewsStatusテーブルからStatusテーブルとNewsテーブルへのリンクがどのように行われるのか分かりません。それとも私はここですべてそれを間違っている?テーブル構造はどのように見えるでしょうか? –
はい、必要ですが、EFによって自動的に作成および管理されます。論理モデルには、NewsStatusのようなエンティティはありません。多対多リレーションシップのジョインテーブルには、リレーションシップの終端(つまり、リレーションシップ)からの* foreign *キーのみが含まれます。ステータステーブル、ニューステーブル)、または1対1の関連付けに分解して、ForeignStatusのような新しいエンティティを導入して、外部キーとその他の必要なプロパティを保持する必要があります。私の答えで示したコードは、最初の方法で行く。あなたが2番目の方法でそれを行う必要があるかどうか私に教えてください、そして、私はあなたにそれがどのように行われるかを教えます。 –
私のオブジェクトモデルでは、NewsとStatusの関係はどうですか? 1〜M?これを完全に実装する方法に関するいくつかのコードがありますか?私はまだEFのコードの最初のアセンブリを使用していない、まともなチュートリアルはありますか?以下のCraigのコードサンプルでさえ私にとって初めてのものです。 –