Exemplo n.º 1
0
 /// <summary>
 ///     This method is called when the model for a derived context has been initialized, but
 ///     before the model has been locked down and used to initialize the context.  The default
 ///     implementation of this method takes the <see cref="IMappingConfiguration" /> array passed in on construction and
 ///     applies them.
 ///     If no configuration mappings were passed it it does nothing.
 /// </summary>
 /// <remarks>
 ///     Typically, this method is called only once when the first instance of a derived context
 ///     is created.  The model for that context is then cached and is for all further instances of
 ///     the context in the app domain.  This caching can be disabled by setting the ModelCaching
 ///     property on the given ModelBuidler, but note that this can seriously degrade performance.
 ///     More control over caching is provided through use of the DbModelBuilder and DbContextFactory
 ///     classes directly.
 /// </remarks>
 /// <param name="modelBuilder">The builder that defines the model for the context being created</param>
 protected override void OnModelCreating(DbModelBuilder modelBuilder)
 {
     if (_databaseFirst)
     {
         throw new UnintentionalCodeFirstException();
     }
     _log.Debug("\tOnModelCreating");
     if (_mapping != null)
     {
         _log.TraceFormat("\t\tMapping : {0}", _mapping.GetType().Name);
         _mapping.ConfigureModelBuilder(modelBuilder);
     }
     base.OnModelCreating(modelBuilder);
 }