Чтобы продемонстрировать проблему, у меня есть следующий код первого контекста БД. Не беспокойтесь о модели, концептуально это не имеет смысла, поскольку это просто демонстрация проблемы.
public class SubjectsDbContext : DbContext
{
public virtual DbSet<Subject> Subjects { get; set; }
public SubjectsDbContext(string connectionString) : base(connectionString)
{
}
public SubjectsDbContext()
{
}
}
public class Subject
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid SubjectId { get; set; }
[Required]
public virtual Course EnrolledCourse {get;set;}
[Required]
[Column(TypeName = "varchar")]
[StringLength(64)]
public string FullName { get; set; }
}
[Table("Courses")]
public class Course
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid CourseId { get; set; }
[Required]
public string CourseName { get; set; }
}
}
Я могу создать новые записи, и данные отправляются в базу данных правильно, как и ожидалось.
Однако, если я пытаюсь получить субъекты по
dbContext.Subjects
, я получаю список правильно, но когда я получаю доступ к объекту субъекта
dbContext.Subjects.First()
Поле участника курса является пустым. В чем проблема?
В отладчике я получаю эту ошибку
((System.Data.Entity.DynamicProxies.Subject_6FCD2FAC29425D72CDE4D879DA7F242F07267C22C94FFE2051F99B13F) или исключение типа «Фольксваген»). System.Data.Entity.Core.EntityCommandExecutionException