DBContext

olá.

não sou programador .net. programo em delphi e estou estudando c#.
tenho uma dúvida referente ao dbcontext.
em que momento eu devo criar o dbcontext?!
e também não entendi muito bem… por exemplo no codigo abaixo, pelo que entendi no #region DbSet está adicionando as tabelas no MusicStoreContext… seria isso?!
se eu tivesse por exemplo um sistema com 150 tabelas, eu teria que colocar todas a tabelas nesse datacontext?!

namespace MvcMusicStore.Data.Context
{
    public class MusicStoreContext : BaseDbContext
    {
        static MusicStoreContext()
        {
            Database.SetInitializer(new ContextInitializer());
        }

        public MusicStoreContext()
            : base("MusicStoreEntities")
        {
        }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();

            base.OnModelCreating(modelBuilder);

            modelBuilder.Configurations.Add(new GenreMap());
            modelBuilder.Configurations.Add(new ArtistMap());
            modelBuilder.Configurations.Add(new AlbumMap());
            modelBuilder.Configurations.Add(new CartMap());
            modelBuilder.Configurations.Add(new OrderMap());
            modelBuilder.Configurations.Add(new OrderDetailMap());
        }
  
        #region DbSet

        public DbSet<Genre> Genres { get; set; }
        public DbSet<Album> Albums { get; set; }
        public DbSet<Artist> Artists { get; set; }
        public DbSet<Cart> Carts { get; set; }
        public DbSet<Order> Orders { get; set; }
        public DbSet<OrderDetail> OrderDetails { get; set; }

        #endregion
    }

valeu!

1 curtida

A relação do DBSet é com a Entidade que faz ponte com a Tabela e se você tiver mais de 100 Tabelas tem um técnica que divide o DbContext em vários. Tudo vai depender! Existem também geradores que podem ler sua base e criar todas as classes, mas, um dica infalível tente entender o seu funcionamento, depois pense grande.

Tem esses dois exemplos que podem ser explorados!