エンティティ フレームワークを使い始めたばかりで、リポジトリとコンテキスト クラスとインターフェイスを作成し、POCO を定義しました。現在、規則がどのように機能するかを理解しようとしていますが、問題があり、これまでのところ理解できていません。
次の2つのPOCOクラスがあります。
ゲームウィーク
public class Gameweek
{
[Key][Required]
public int GameweekID { get; set; }
[Required]
public DateTime StartDate { get; set; }
[Required]
public DateTime Deadline { get; set; }
[Required]
public int NumberFixtures { get; set; }
public virtual ICollection<Fixture> Fixtures { get; set; }
public virtual ICollection<Result> Results { get; set; }
}
備品
public class Fixture
{
[Key][Required]
public int FixtureID { get; set; }
[Required]
public int GameweekID { get; set; }
[Required]
public string HomeTeam { get; set; }
[Required]
public string AwayTeam { get; set; }
public virtual Result Result { get; set; }
}
結果
public class Result
{
[Key][Required]
public int FixtureID { get; set; }
[Required]
public int HomeGoals { get; set; }
[Required]
public int AwayGoals { get; set; }
}
私のモデルでは、ゲームウィークには 0 ~ 20のフィクスチャを含めることができます。ゲームウィークの各フィクスチャには 1 つの結果があります。
クラスと次の規則でこれを正しくモデル化していますか?
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove < PluralizingTableNameConvention>();
//Table relationships defined here
modelBuilder.Entity<Gameweek>()
.HasMany(g => g.Fixtures);
modelBuilder.Entity<Fixture>()
.HasOptional(f => f.Result);
}
どんなヒントでも大歓迎です。