Wagons
とWagonTypes
の2つのテーブルが必要であるとします。明らかに、Wagons
テーブルの各行は、外部キーを使用して対応するWagonTypes
レコードを参照する必要があります。ASP.NETコアEFで外部キーごとに2つのフィールドを定義する必要があります
私はこの権利を行っていますか?
public class Wagons
{
public Guid Id { get; set; }
[Required]
public WagonTypes Type { get; set; }
}
public class WagonTypes
{
public Guid Id { get; set; }
[Required]
public string Name { get; set; }
}
うん、それが動作し、すべてのことが、追加のフィールドが、その後docsにありますなぜ私はunserstandません:
public int BlogId { get; set; }
public Blog Blog { get; set; }
BlogId
フィールドを持つことのポイントは何ですか?私もそれを定義する必要がありますか?
あなたの構造はよく見えます。それはドキュメンテーションで説明されています。 Post.Blogは参照ナビゲーションプロパティです。あなたはそれを追加する必要はありません。 – Sefa
[docs](http://ef.readthedocs.io/ja/latest/modeling/shadow-properties.html#conventions)から:_シャドウプロパティは、関係が検出されても外部キープロパティがない場合にのみ作成されます従属エンティティクラスで見つけた_ – tmg
参考文献の例では、例と参考例との間に若干の違いがあります。参考例では、多くの投稿に対するブログが1つの関係になっています(したがって、投稿にはブログ)あなたの例では逆数は真ですが、ワゴンは1つのワゴンタイプしかないので、あなたはワゴンタイプのエンティティを持ち、その親ワゴンに戻ってもらいたいと思うわけではありません(1対多の関係は他の方法)。 – CptCoathanger