public DbModelBuilder CreateModelBuilder() { DbModelBuilderVersionAttribute versionAttribute = this._attributeProvider.GetAttributes(this.Owner.GetType()).OfType <DbModelBuilderVersionAttribute>().FirstOrDefault <DbModelBuilderVersionAttribute>(); DbModelBuilder modelBuilder = new DbModelBuilder(versionAttribute != null ? versionAttribute.Version : DbModelBuilderVersion.Latest); string modelNamespace = LazyInternalContext.StripInvalidCharacters(this.Owner.GetType().Namespace); if (!string.IsNullOrWhiteSpace(modelNamespace)) { modelBuilder.Conventions.Add((IConvention) new ModelNamespaceConvention(modelNamespace)); } string containerName = LazyInternalContext.StripInvalidCharacters(this.Owner.GetType().Name); if (!string.IsNullOrWhiteSpace(containerName)) { modelBuilder.Conventions.Add((IConvention) new ModelContainerConvention(containerName)); } new DbSetDiscoveryService(this.Owner).RegisterSets(modelBuilder); this.Owner.CallOnModelCreating(modelBuilder); if (this.OnModelCreating != null) { this.OnModelCreating(modelBuilder); } return(modelBuilder); }
public void Can_read_version_from_DbModelBuilderVersionAttribute() { var attribute = new DbModelBuilderVersionAttribute(DbModelBuilderVersion.Latest); Assert.Equal(DbModelBuilderVersion.Latest, attribute.Version); }