我有一个数据库,我可以控制其中的一部分,而无法控制另一部分。我想使用 EF 来访问这两个部分,但是我在声明某些关系时遇到了麻烦。考虑以下两个实体:
public class AnswerSet {
public AnswerSet() { WeeklyAnswerSets=new HashSet<WeeklyAnswerSet>(); }
public int Id { get; set; }
public string StudentCode { get; set; }
public string InstructorCode { get; set; }
public string AssignedDateOrig { get; set; }
public virtual ICollection<WeeklyAnswerSet> WeeklyAnswerSets { get; set; }
public virtual ICollection<INSTSTUD> InstStuds { get; set; }
}
public class INSTSTUD {
[Key]
public int FOCLIST { get; set; }
public string ININSCD { get; set; }
public string INSTUCD { get; set; }
public string ASSIGNEDDATE { get; set; }
}
我可以控制 AnswerSet 但不能控制 INSTSTUD。并且 INSTSTUD.FOCLIST 不能用作 AnswerSet 中的永久外键。相反,如果我想从一个 AnswerSet 中查找一个 INSTSTUD,我需要使用这样的连接StudentCode=INSTUCD and InstructorCode=ININSCD and AssignedDateOrig=ASSIGNEDDATE
:
因此,鉴于这些限制,我可以放入什么才能OnModelCreating
使我的导航属性AnswerSet.InstStuds
正常工作?