0
這個問題可能看起來微不足道,但在過去的幾天裏,我真的一直在拉我的頭髮。 我正嘗試使用實體框架創建一對多關係。 我有兩個模型。第一種模式是團隊:實體框架中包含其他模型列表的模型
public class Team
{
public int TeamId {get;set;}
public string TeamName {get;set;}
public string SportType {get;set;}
public List<Player> Players {get;set;}
}
正如你所看到的,我希望我的團隊包含一個球員列表。我的播放器類定義的那樣:
public class Player
{
public int PlayerId {get;set;}
public string Name {get;set;}
public int Age {get;set;}
public double Salary {get;set;}
public string Gender {get;set;}
[ForeignKey("TeamId")]
public Team Team {get;set;}
}
這是我的DbContext類:
public class TeamDbContext : DbContext
{
public DbSet<Team> Teams {get;set;}
public DbSet<Player> Players {get;set;}
protected override void OnModelCreating(DbModelCreator modelBuilder)
{
modelBuilder.Entity<Player>().HasRequired<Team>(p => p.Team).WithMany(t => t.Players).HasForeignKey(p => p.TeamId);
}
public TeamDbContext() : base("TeamDb")
{
}
}
這是我的主:
static void Main(string[] args)
{
TeamDbContext db = new TeamDbContext();
// Create a new Player
Player Ben = new Player() {Name = "Ben", Age = 10};
db.Players.Add(Ben);
db.SaveChanges();
// Create a new Team
Team LosVegasTeam = new Team() {TeamName = "LosVegas", SportType = "Soccer"};
LosVegasTeam.Players = new List<Player> {Ben};
db.Teams.Add(LosVegasTeam);
db.SaveChanges();
}
必須有一個錯誤的地方(甚至在主體本身),因爲即使當應用程序運行時,一切似乎都奏效,第二次運行應用程序時,我能夠從數據庫中檢索除團隊玩家以外的所有內容列表(基本上爲空)。
我很感激任何幫助,我真的無望。 非常感謝。
謝謝!這是一種魅力! – user3497668
@ user3497668隨時!!! –