私はEntityBを複数持ち、EntityBは複数のEntityAを持つことができます。簡単にするために:EF多数関係の循環ロード
class Student
{
public string Name {get;set;}
public virtual ICollection<Teacher> Teachers{get;set;}
}
class Teacher
{
public string Name {get;set;}
public virtual ICollection<Student> Students{get;set;}
}
私はこのようなマッピングを行います。
HasMany(x => x.Teachers)
.WithMany(x => x.Students)
.Map(x =>
{
x.MapLeftKey("StudentId");
x.MapRightKey("TeacherId");
x.ToTable("StudentTeacher");
});
遅延読み込みがで投入されます。
私は教師を含む学生(教師の名前だけを意味する)をロードしたいが、他の生徒はいないし、教員もいない。私はこのようなものを試しました:
var student = _context.Students.Where(x => x.Name == studentName)
.Include(x=>x.Teachers)
.SingleOrDefault();
しかし、私は本当にオブジェクトを取得します。私は最初のレベルをロードしたいだけです。
どうすればいいですか?
です。これは私が期待していることですが、それは実際に私が得るものではありません。私の問題は、私も完全な "学生"オブジェクトを取得することです。私は本当に "学生"と "教師"を持っていない、私は単純な例としてこれを置くだけです。 – Novak
あなたは正しいと思われます。私が経験していたのは、VSデバッガの機能です。 – Novak
もう少しテストしましょう。 – Novak