一部を制御し、別の部分を制御できないデータベースがあります。EF を使用して両方の部分にアクセスしたいのですが、一部の関係を宣言するのに問題があります。次の 2 つのエンティティを検討してください。
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
が機能するようにするには何を入れることができますか?