如何处理多对多关系实体框架核心

时间:2020-04-17 17:41:28

标签: c# entity-framework-core many-to-many

我试图在我的asp.net应用程序中的实体之间进行多对多映射,但是遇到一个我无法正确定义多对多关系的问题(很多人可能去很多音乐会) 但我不确定如何使用数据,例如让所有参加音乐会的人参加

    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; }
    }

0 个答案:

没有答案