Ошибка: невозможно определить отношение, представленное свойством навигации, с помощью Scaffold-DbContext - PullRequest
0 голосов
/ 08 мая 2020

Я пытаюсь создать API, используя asp. net core 2.0 Я использовал Scaffold-DbContext для генерации моделей из существующей базы данных.

У меня связь один-ко-многим между Exam и ExamLocation class , здесь код, который генерирует Scaffold-DbContext.

    public partial class Exam
    {
        public Exam()
        {
            ExamLocations = new HashSet<ExamLocation>();
        }

        public int ExmId { get; set; }
        ...
        public virtual ICollection<ExamLocation> ExamLocations { get; set; }
    }
 public partial class ExamLocation
    {
        public int ExmLocId { get; set; }
        public int ExmId { get; set; }
        ...

        public virtual Exam Exm { get; set; }
    }

Мой класс контекста

 public virtual DbSet<ExamLocation> ExamLocations { get; set; }
 public virtual DbSet<Exam> Exams { get; set; }


            modelBuilder.Entity<ExamLocation>(entity =>
            {
                ...

                entity.HasOne(d => d.Exm)
                    .WithMany(p => p.ExamLocations)
                    .HasForeignKey(d => d.ExmId)
                    .HasConstraintName("FK_ExamLocations_Exam");
            });


            modelBuilder.Entity<Exam>(entity =>
            {
                entity.HasKey(e => e.ExmId)
                    .HasName("PK_Exam");
             ....
             }

В моем ExamsController я вызываю такую ​​процедуру Store

        [HttpGet]
        public async Task<ActionResult<IEnumerable<Exams>>> Get()
        {
            return await context.Exams.FromSql("sp_GetCalendar_m").ToListAsync();
        }

Когда я запускаю приложение и вызываю этот метод, я получаю эту ошибку

'Невозможно определить взаимосвязь, представленную свойством навигации' ExamLocation.Exm 'типа' Exam '. Либо вручную настройте связь, либо проигнорируйте это свойство с помощью атрибута «[NotMapped]» или с помощью «EntityTypeBuilder.Ignore» в «OnModelCreating». ошибка, но я все еще не знаю, что мне не хватает.

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...