我的項目中有兩種不同的模型:電影和演員。電影有演員列表,演員有電影列表。 。我想要做的就是給出一個電影,讓所有的演員,然後對每個演員審查擔任他們的電影從實體框架中的列表中檢索值
所以,爲了得到的信息,我用:
var movie = context.Movies.Include("Cast.ActingCredits").FirstOrDefault(m => m.Key == key);
問題當列表ActingCredits
不爲空時,其中沒有值。有什麼我缺少加載列表中的值? ActingCredits
是ICollection<Movie>
。
public class Actor : ModelBase
{
public ICollection<Movie> ActingCredits { get; set; }
}
public class Movie : ModelBase
{
public string Title { get; set; }
public DateTime Year { get; set; }
public Genre Genre { get; set; }
public int RunTime { get; set; }
public int Sales { get; set; }
public ICollection<Actor> Cast { get; set; }
}
編輯:它已經到了我的注意,這可能是錯誤的,是問題的原因。
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Movie>().HasMany(p => p.Cast).WithMany();
modelBuilder.Entity<Actor>().HasMany(m => m.ActingCredits).WithMany();
}
發佈演員和電影類的結構? – Trey
鍵/ m.Key是什麼? – David
關鍵值在ModelBase類中,它是一個帶有[[Key]'屬性的int。 Key是我想要獲得的電影密鑰,m.Key是給定電影的關鍵。 –