public class Team
{
public Team()
{
TeamSchemes = new HashSet<Scheme>();
TeamUsers = new HashSet<PLUser>();
}
public int ID { get; set; }
public string Name { get; set; }
[ForeignKey("Office")]
public int OfficeID { get; set;}
public virtual Office Office { get; set; }
[ForeignKey("TeamLeader")]
public int TeamLeaderID { get; set; }
public virtual PLUser TeamLeader { get; set; }
public virtual ICollection<Scheme> TeamSchemes { get; set; }
public virtual ICollection<PLUser> TeamUsers {get;set;}
}
我有一個團隊對象和一個用戶對象。我該如何解決這個問題:System.Data.SqlClient.SqlException:無效的列名'TeamID'
我想要的關係是: 一支球隊擁有一個TeamLeader(用戶) 一支球隊擁有很多用戶,可以在那支球隊
以下是我在我的用戶對象這些關係
[ForeignKey("Team")]
public int? TeamID { get; set; }
public virtual Team Team { get; set; }
public virtual ICollection<Team> TeamsLeading { get; set; }
但是運行codeFirst遷移我是從什麼地方
越來越稱爲TEAM_ID一個額外的列時,我明確指出我在模型構建的關係像這樣:
modelBuilder.Entity<Team>().HasRequired(x => x.TeamLeader).WithMany(u=>u.TeamsLeading).HasForeignKey(t=>t.TeamLeaderID);
modelBuilder.Entity<PLUser>().HasOptional(x => x.Team).WithMany(t=>t.TeamUsers).HasForeignKey(x => x.TeamID);
modelBuilder.Entity<PLUser>().HasMany(u => u.TeamsLeading).WithRequired(t => t.TeamLeader);
遷移代碼成功運行並似乎顯示預期結果。但是,當我運行該應用程序時,出現以下錯誤並且該應用程序無法運行:
System.Data.SqlClient.SqlException:列名'TeamID'無效。
/模型上的關係,任何幫助修復問題
感謝史蒂夫似乎已經解決了這個問題 –