我有一些POCO类一般可以分为两类,例如: 是否有可能在两个DbContext之间共享POCO对象?
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; }
}
和相应的课程和俱乐部类,它们都有自己的其他类的关系。
的问题是,这两个群体都大了,它们都含有大量的类,并且它们中的每一个工作单位,像学生课程管理单位将提供相关的课程什么功能;俱乐部管理部门将提供功能。所以我不打算把它们放到一个DbContext中。
有迹象表明,需要得到俱乐部的学生则检索其课程信息的一些要求。我现在正在做的是使用我从俱乐部单位获得的学生ID在课程单元中做另一个查询。其工作正常,但我跳,使其更简单,像
foreach(var student in club.Students){
ClubContext.Detach(student);
CourseContext.Attach(student);
foreach(var c in student.Courses){
...
}
}
,但我得到了一些例外,像这样:
已经有一个层对象类型 “POCOTest生成的代理类型。 Models.Student”。当同一对象层 类型由AppDomain中的两个或更多不同模型映射时,会发生这种情况。
这可能吗?如果是这样,怎么样?谢谢〜
真棒,非常感谢〜 – Ariex