Ошибка OnModelCreating (ModelBuilder) ': не найден подходящий метод для переопределения - PullRequest
0 голосов
/ 20 марта 2020

Возвращение сообщения об ошибке выше в новом asp. net core 3.1 проекте. У меня есть отношение «многие ко многим», настроенное в соответствии с Text

Не совсем уверен, почему это происходит, но я добавил пакет EntityFrameworkCore в проект, поэтому я не уверен, почему это возвращает эту ошибку.

DBContext.cs:

using Microsoft.EntityFrameworkCore;
using Ballista.Models;

namespace Ballista.Data 
{
    public class AnnouncementsContext : DbContext
    {
        public AnnouncementsContext (DbContextOptions<AnnouncementsContext> options)
            : base(options)
        {
        }

        public DbSet<Announcements> Announcements { get; set; }
        public DbSet<AnnouncementTargets> AnnouncementTargets { get; set; }
        public DbSet<TargetGroup> TargetGroup { get; set; }
    }
    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<AnnouncementTargets>()
            .HasKey(at => new { at.AnnouncementID, at.TargetGroupID });

        modelBuilder.Entity<AnnouncementTargets>()
            .HasOne(at => at.Announcement)
            .WithMany(a => a.AnnouncementTargets)
            .HasForeignKey(at => at.AnnouncementID);
        modelBuilder.Entity<AnnouncementTargets>()
            .HasOne(at => at.TargetGroup)
            .WithMany(tg => tg.AnnouncementTargets)
            .HasForeignKey(t => t.TargetGroupID);
        base.OnModelCreating(modelBuilder);
    }

}

AnnouncementModels.cs:

using System;
using System.ComponentModel.DataAnnotations;
using System.Collections.Generic;

namespace Ballista.Models
{
    public class Announcements
    {
        public int ID { get; set; }
        public string Title { get; set; }
        public string SubTitle { get; set; }
        public string Content { get; set; }
        public ICollection<AnnouncementTargets> AnnouncementTargets { get; set; }

    }

    public class TargetGroup
    {
        public int ID { get; set; }
        public string Group { get; set; }
        public ICollection<AnnouncementTargets> AnnouncementTargets { get; set; }
    }

    public class AnnouncementTargets
    {
        public int AnnouncementID { get; set; }
        public Announcements Announcement { get; set; }
        public int TargetGroupID { get; set; }
        public TargetGroup TargetGroup { get; set; }
    }
}

У меня настроено отношение многие ко многим, но я получаю сообщение об ошибке <invalid-global-code>.OnModelCreating(ModelBuilder)': no suitable method found to override

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