Настраиваем контекст бд и migration (entity framework)

Создадим контекст базы данных. Настроим логирование всех sql запросов в debug вывод. Настроим migration для обновления бд.

  1. Создадим класс — контекст базы данных c логированием sql запросов в debug
    
    using System;
    using System.Collections.Generic;
    using System.Data.Entity;
    using System.Diagnostics;
    using System.Linq;
    using System.Web;
    
    namespace WebApp.Databases
    {
        public cla ss DefaultDatabase : DbContext
        {
            public DefaultDatabase()
              : base("DefaultConnection")
            {
                Database.Log = Logger;
            }
            // TODO: Add DbSet
            // public DbSet<Post> Posts { get; set; }
    
            protected override void OnModelCreating(DbModelBuilder modelBuilder)
           {
                // TODO: Add relationships
                // modelBuilder.Entity<Section>().HasMany<ProductsFilter>(x => x.Filters).WithMany(x => x.Sections).Map(m => m.ToTable("SectionProductsFilters").MapLeftKey("SectionId").MapRightKey("FilterId"));
                // modelBuilder.Entity<ProductsAttribute>().HasRequired<ProductsFilter>(x => x.Filter).WithMany().HasForeignKey(x => x.FilterId).WillCascadeOnDelete(false);
            }
            private void Logger(string logString)
            {
                Debug.WriteLine(logString);
            }
        }
    }
    
    
  2. Выполним команду в консоли диспетчера пакетов
    Enable-Migrations -ContextTypeName WebApp.Databases.DefaultDatabase
    
  3. Добавим строчку в Global.asax
    Database.SetInitializer(new MigrateDatabaseToLatestVersion<DefaultDatabase, Configuration>());
    

Ссылки:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>