0
過去幾天我一直在爲此苦苦掙扎,似乎無法解決這個問題。我在MVC 4和EF 5中使用Code First方法。我通過流暢的API設置了多對多關係。下面是示例代碼:Code First MVC 4 EF 5多對多加入
public class Class
{
public Class()
{
Teachers = new List<User>();
}
/// <summary>
/// Unique ID in the system
/// </summary>
[Key]
public long Id { get; set; }
/// <summary>
/// Array of users (Teachers and Interventionists) associated with that class
/// </summary>
public List<User> Teachers { get; set; }
}
用戶等級:
public class User
{
public User()
{
}
/// <summary>
/// Unique Id in the system
///</summary>
[Key]
public long Id { get; set; }
public List<Class> Classes { get; set; }
}
流利的API是在這裏:
modelBuilder.Entity<Class>().HasMany(m => m.Teachers).WithMany(t => t.Classes).Map(m =>
{
m.ToTable("ClassTeachers");
m.MapLeftKey("ClassId");
m.MapRightKey("UserId");
});
這是怎麼回事:
的EF是創建ClassTeachers表和當我選擇所有我按預期收到數據的類時。類在返回的數據中有正確的教師。
我需要什麼幫助:
我試圖返回所有具有特定教師類。我正在嘗試這樣的事情:
var classesTeachers =
from classes in data.Classes from u in data.Users
where u.Id == mockUser.Id
select new { classes.Id, classes.Label, u.FirstName };
但是,我沒有找回正確的數據。通常情況下,我可以加入第三張表格以獲得所需的結果,但是,EF Code First方法不適用此表格。我真的很茫然......
謝謝。
也做到了,非常感謝! – user1038280