Как работать с ядром фреймворка сущностей "многие ко многим" - PullRequest
0 голосов
/ 17 апреля 2020

m пытается создать много-много сопоставлений между сущностями в моем приложении asp. net, но я столкнулся с проблемой, которая, как мне кажется, не позволяет точно определить отношения многие ко многим (многие люди могут go на многие концерты), но я не уверен, как работать с данными, например, получить всех людей, которые посетили данный концерт

    public class eventContext : DbContext
    {
        public eventContext(DbContextOptions<eventContext> options) : base(options)
        {
        }

        protected override void
        OnModelCreating(ModelBuilder modelBuilder)
        {


            modelBuilder.Entity<PersonConcert>().HasKey(i => new { i.PersonID, i.ConcertID });


        }

        public DbSet<Person> Fans { get; set; }
        public DbSet<Concert> Concerts { get; set; }

      }
    } 
   public class Person
    {
        public int PersonID { get; set; }
        public string Name { get; set; }
        public ICollection<PersonConcert> pc { get; set; }
        public void Attend(Concert c)
        {
            throw new NotImplementedException();
        }
        public List<Concert> getMyConcerts()
        {
            throw new NotImplementedException();
        }
        public List<Concert> getConcertsFrom(DateTime date)
        {
            return getMyConcerts().ToList().filter(date);
        }
    }
    }
    public class Concert
    {
        public int ConcertID { get; set; }
        public string Name { get; set; }
        public DateTime Date { get; set; }
        public ICollection<PersonConcert>pc  { get; set; }


        public List<Person> fans()
        {
            return ..toList();
        }

    }
}
    public class PersonConcert
    {
        public int PersonID { get; set; }
        public Person person { get; set; }

        public int ConcertID { get; set; }
        public Concert concert { get; set; }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...