私のデータベースでは、一対多の関係があります (バンドには多くのアルバムがあります)。ただし、Album の外部キーが制限されている場合、この関係は 1 対 1 になります。
public class Band
{
[Key]
public int BandID { get; set; }
//Other fun attributes
public virtual ICollection<Album> Albums { get; set; }
}
public class Album
{
[Key]
public int AlbumID { get; set; }
public int BandID { get; set; }
//Other fun attributes
//Some other foreign key
public int SomeOtherKey { get; set; }
}
生成すべきSQL
SELECT * FROM Band
LEFT JOIN Album ON (Band.BandID = Album.AlbumID AND Album.SomeOtherKey = 12)
私の質問はpublic virtual Album Album
、Band に別のナビゲーション プロパティを用意する必要があるか、またはこれが常に正しいとは限らないため、それは悪い考えでしょうか? LINQ を使用する必要がありますか? Entity Framework とモデルを使用してこれを達成する最も簡単な方法は何ですか?