私はいくつかのPOCOクラスを持っており、それらは一般的に2つのグループに分けることができます。
public class Student
{
public Student()
{
this.Courses = new List<Course>();
this.Clubs = new List<Club>();
}
public int Id { get; set; }
public virtual ICollection<Course> Courses { get; set; }
public virtual ICollection<Club> Clubs { get; set; }
}
および対応するコースとクラブのクラスであり、それらはすべて他のクラスと独自の関係を持っています。
問題は、これら2つのグループが大きく、両方に多くのクラスが含まれており、それぞれがコースに関連するすべての機能を提供する学生コース管理ユニットのような作業ユニットであるということです。機能を提供するクラブ管理ユニット。したがって、これらを1つのDbContextにまとめる予定はありません。
クラブから学生を取得し、そのコース情報を取得するために必要ないくつかの要件があります。私が今していることは、クラブユニットから取得した学生IDを使用して、コースユニットで別のクエリを実行することです。これは問題なく動作しますが、私はそれをより単純にするためにホッピングします
foreach(var student in club.Students){
ClubContext.Detach(student);
CourseContext.Attach(student);
foreach(var c in student.Courses){
...
}
}
しかし、私はこのようないくつかの例外を受け取りました:
オブジェクトレイヤータイプ「POCOTest.Models.Student」に対して生成されたプロキシタイプがすでにあります。これは、同じオブジェクトレイヤータイプがAppDomain内の2つ以上の異なるモデルによってマップされている場合に発生します。
これは可能ですか?もしそうなら、どのように?ありがとう〜