방금 Entity 프레임 워크에 대한 작업을 시작했으며 리포지토리 및 컨텍스트 클래스와 인터페이스를 만들고 POCO를 정의했으며 현재 컨벤션 작업이 어떻게 진행되고 있지만 어려움을 겪고 있는지 이해하려고 노력하고 있습니다. 그렇게 할 수 없다.엔터티 프레임 워크 규칙
I가 다음과 같은 2 개 POCO 클래스 :
Gameweek
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; }
}
Gameweek은 0-20 설비 사이에 포함 할 수 있습니다. gameweek의 각 조명기에는 결과가입니다.
내가 클래스와 다음 convetions 제대로이 모델링 오전 :
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);
}
모든 팁은 크게 감상 할 수있다.
안녕하세요, 슬레 마, 답장을 보내 주셔서 감사합니다. Gameweek Entity에 필요한 협약이 없습니까? 조명기는 어떻게 그 대응하는 gameweek와 연결되어 있습니까? – Jay
@Jay : EF는'Gameweek.Fixtures' 콜렉션을 봅니다. 그로부터 관례에 따라 일대 다 (one-to-many) 관계를 추론합니다. 그런 다음 'Fixture.GameweekID' 속성을보고 이것이 관계의 FK 속성이라고 가정합니다 (이름 지정 규칙에 따라). 그것은 null이 허용되지 않는'int'이기 때문에 관계는 * 필수 *이며 선택적이 아니라고 추론합니다. – Slauma
Slauma에 대한 좋은 설명에 대한 감사합니다. 나는 도움을 주신 것에 감사드립니다. – Jay