У меня есть база данных, в которой я контролирую часть и не контролирую другую часть. Я хотел бы использовать EF для доступа к обеим частям, но у меня возникли проблемы с объявлением некоторых отношений. Рассмотрим следующие два объекта:EF Code First keyless association
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; }
}
Я могу контролировать набор ответов, но не INSTSTUD. И INSTSTUD.FOCLIST не будет использоваться в качестве постоянного внешнего ключа в AnswerSet. Вместо этого, если я хочу найти INSTSTUD из набора ответов, мне нужно будет использовать соединение следующим образом: StudentCode=INSTUCD and InstructorCode=ININSCD and AssignedDateOrig=ASSIGNEDDATE
.
Так что с учетом этих ограничений, что я могу положить в OnModelCreating
, так что мое навигационное свойство AnswerSet.InstStuds
будет работать?