0
저는 지난 며칠 동안이 문제로 어려움을 겪었습니다. MVC 4와 EF 5에서 코드 첫 번째 접근 방식을 사용하고 있습니다. 유창한 API를 통해 다 대 다 관계 설정을했습니다.코드 MVC 4 EF 5 many-to-many Join
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 코드 우선 접근 방식에서는 사용할 수 없습니다. 정말 실망입니다 ...
고마워요.
을! – user1038280