Пример #1
0
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);


            modelBuilder.Configurations.Add(new AccessConfig());
            modelBuilder.Configurations.Add(new ApplicationClaimConfig());
            modelBuilder.Configurations.Add(new ApplicationUserConfig());
            modelBuilder.Configurations.Add(new ApplicationLoginConfig());
            modelBuilder.Configurations.Add(new ApplicationRoleConfig());
            modelBuilder.Configurations.Add(new ChancelleryConfig());
            modelBuilder.Configurations.Add(new DataEntityConfig());
            modelBuilder.Configurations.Add(new DepartmentConfig());
            modelBuilder.Configurations.Add(new ExternalOrganizationChancelleryConfig());
            modelBuilder.Configurations.Add(new FileRecordChancelleryConfig());
            modelBuilder.Configurations.Add(new FolderChancelleryConfig());
            modelBuilder.Configurations.Add(new JournalRegistrationsChancelleryConfig());
            modelBuilder.Configurations.Add(new PostNameUserConfig());
            modelBuilder.Configurations.Add(new TypeAccessConfig());
            modelBuilder.Configurations.Add(new TypeRecordChancelleryConfig());
            modelBuilder.Configurations.Add(new EmployeeConfig());
            modelBuilder.Configurations.Add(new EmployeePassportConfig());


            var convention = new AttributeToColumnAnnotationConvention <DefaultValueAttribute, string>("SqlDefaultValue", (p, attributes) => attributes.SingleOrDefault().Value.ToString());

            modelBuilder.Conventions.Add(convention);
        }
Пример #2
0
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);
            var convention = new AttributeToColumnAnnotationConvention <DefaultValueAttribute, string>(MyCodeGenerator.SqlDefaultValue, (p, attributes) => attributes.SingleOrDefault().Value.ToString());

            modelBuilder.Conventions.Add(convention);
        }
        public static DbModelBuilder AddDefaultValues(this DbModelBuilder modelBuilder)
        {
            var convention = new AttributeToColumnAnnotationConvention <DefaultValueAttribute, string>(DefaultValueAnnotation.AnnotationName, (p, attributes) => attributes.SingleOrDefault().Value.ToString());

            modelBuilder.Conventions.Add(convention);

            return(modelBuilder);
        }
Пример #4
0
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);
            modelBuilder.Conventions.Remove <PluralizingTableNameConvention>();
            var convention = new AttributeToColumnAnnotationConvention <DefaultValueAttribute, string>("SqlDefaultValue", (p, attributes) => attributes.SingleOrDefault().Value.ToString());

            modelBuilder.Conventions.Add(convention);
        }
Пример #5
0
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Entity <Message>().HasMany(t => t.Transitions).WithRequired(a => a.CurrentMessage).WillCascadeOnDelete(false);
            modelBuilder.Entity <Conversation>().HasRequired(t => t.CurrentMessage).WithMany().WillCascadeOnDelete(false);

            var convention = new AttributeToColumnAnnotationConvention <DefaultValueAttribute, string>("SqlDefaultValue",
                                                                                                       (p, attributes) => attributes.SingleOrDefault().Value.ToString());

            modelBuilder.Conventions.Add(convention);
        }
Пример #6
0
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);

            var convention = new AttributeToColumnAnnotationConvention <DefaultValueAttribute, string>("SqlDefaultValue", (p, attributes) => attributes.SingleOrDefault().Value.ToString());

            modelBuilder.Conventions.Add(convention);

            //modelBuilder.Entity<Phone>().Property(it => it.PhoneInfo).IsOptional();
        }
Пример #7
0
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Configurations.AddFromAssembly(Assembly.GetExecutingAssembly());

            base.OnModelCreating(modelBuilder);
            modelBuilder.Properties <string>().Configure(p => p.IsUnicode(false));

            modelBuilder.Conventions.AddFromAssembly(Assembly.GetExecutingAssembly());
            var convention = new AttributeToColumnAnnotationConvention <DefaultValueAttribute, string>("SqlDefaultValue",
                                                                                                       (p, attributes) => attributes.SingleOrDefault().Value.ToString());

            modelBuilder.Conventions.Add(convention);
        }
Пример #8
0
        /// <summary>
        /// Maps table names, and sets up relationships between the various user entities
        /// </summary>
        /// <param name="modelBuilder">The model builder.</param>
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);
            modelBuilder.RegisterIdentityTables();

            var convention = new AttributeToColumnAnnotationConvention <DefaultValueAttribute, string>(
                "SqlDefaultValue", (p, attributes) => attributes.FirstOrDefault()?.Value.ToString());

            modelBuilder.Conventions.Add(convention);
            foreach (var classType in from t in Assembly.GetAssembly(typeof(DecimalPrecisionAttribute)).GetTypes()
                     where t.IsClass && t.Namespace != null && t.Namespace.Contains("DataAccess.Entities")
                     select t)
            {
                foreach (
                    var propAttr in
                    classType.GetProperties(BindingFlags.Public | BindingFlags.Instance)
                    .Where(p => p.GetCustomAttribute <DecimalPrecisionAttribute>() != null)
                    .Select(
                        p => new { prop = p, attr = p.GetCustomAttribute <DecimalPrecisionAttribute>(true) }))
                {
                    var entityConfig =
                        modelBuilder.GetType()
                        .GetMethod("Entity")
                        .MakeGenericMethod(classType)
                        .Invoke(modelBuilder, null);
                    var param            = Expression.Parameter(classType, "c");
                    var property         = Expression.Property(param, propAttr.prop.Name);
                    var lambdaExpression = Expression.Lambda(property, true, param);
                    var index            = 6;
                    if (propAttr.prop.PropertyType.IsGenericType &&
                        propAttr.prop.PropertyType.GetGenericTypeDefinition() == typeof(Nullable <>))
                    {
                        index = 7;
                    }

                    var methodInfo =
                        entityConfig.GetType().GetMethods().Where(p => p.Name == "Property").ToList()[index];
                    var decimalConfig = methodInfo.Invoke(entityConfig, new object[] { lambdaExpression }) as
                                        DecimalPropertyConfiguration;

                    decimalConfig?.HasPrecision(propAttr.attr.Precision, propAttr.attr.Scale);
                }
            }
        }
Пример #9
0
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            var typesToRegister = Assembly.GetExecutingAssembly().GetTypes()
                                  .Where(type => !string.IsNullOrEmpty(type.Namespace))
                                  .Where(type => type.BaseType != null && type.BaseType.IsGenericType &&
                                         type.BaseType.GetGenericTypeDefinition() == EntityTypeConfiguration).ToList();

            foreach (var type in typesToRegister)
            {
                dynamic configurationInstance = Activator.CreateInstance(type);
                modelBuilder.Configurations.Add(configurationInstance);
            }

            base.OnModelCreating(modelBuilder);

            var convention = new AttributeToColumnAnnotationConvention <DefaultValueAttribute, string>("SqlDefaultValue", (p, attributes) => attributes.SingleOrDefault().Value.ToString());

            modelBuilder.Conventions.Add(convention);
        }
Пример #10
0
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Configurations.Add(new KudosBasketEntityConfig());
            modelBuilder.Configurations.Add(new KudosLogEntityConfig());
            modelBuilder.Configurations.Add(new ApplicationUserConfiguration());
            modelBuilder.Configurations.Add(new IdentityUserRoleEntityConfig());
            modelBuilder.Configurations.Add(new IdentityUserLoginEntityConfig());
            modelBuilder.Configurations.Add(new IdentityUserClaimEntityConfig());
            modelBuilder.Configurations.Add(new ApplicationRoleConfiguration());
            modelBuilder.Configurations.Add(new AbstractClassifierConfiguration());
            modelBuilder.Configurations.Add(new RoomEntityConfig());
            modelBuilder.Configurations.Add(new PageEntityConfig());
            modelBuilder.Configurations.Add(new PermissionEntityConfig());
            modelBuilder.Configurations.Add(new EventEntityConfig());
            modelBuilder.Configurations.Add(new EventTypeEntityConfig());
            modelBuilder.Configurations.Add(new EventParticipantEntityConfig());
            modelBuilder.Configurations.Add(new EventOptionEntityConfig());
            modelBuilder.Configurations.Add(new CommitteeEntityConfig());
            modelBuilder.Configurations.Add(new BookOfficeEntityConfig());
            modelBuilder.Configurations.Add(new BookLogEntityConfig());
            modelBuilder.Configurations.Add(new BookEntityConfig());
            modelBuilder.Configurations.Add(new OfficeEntityConfig());
            modelBuilder.Configurations.Add(new OrganizationEntityConfig());
            modelBuilder.Configurations.Add(new RefreshTokenConfiguration());
            modelBuilder.Configurations.Add(new WallConfiguration());
            modelBuilder.Configurations.Add(new WallMembersConfiguration());
            modelBuilder.Configurations.Add(new WallModeratorsConfiguration());
            modelBuilder.Configurations.Add(new PostEntityConfig());
            modelBuilder.Configurations.Add(new ExternalLinkConfig());
            modelBuilder.Configurations.Add(new MonitorConfig());
            modelBuilder.Configurations.Add(new NotificationConfig());
            modelBuilder.Configurations.Add(new NotifiationUserConfig());
            modelBuilder.Configurations.Add(new PostWatcherConfig());
            modelBuilder.Configurations.Add(new VacationEntityConfig());

            var convention = new AttributeToColumnAnnotationConvention <SqlDefaultValueAttribute, string>("SqlDefaultValue", (p, attributes) => attributes.Single().DefaultValue);

            modelBuilder.Conventions.Add(convention);

            new OtherEntitiesConfig(modelBuilder).Add();
        }
Пример #11
0
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);

            ////////////////////
            // EF Conventions //
            ////////////////////

            var attributeToColumnConvetion = new AttributeToColumnAnnotationConvention <DefaultValueAttribute, string>("SqlDefaultValue", (p, attributes) => attributes.SingleOrDefault().Value.ToString());

            modelBuilder.Conventions.Add(attributeToColumnConvetion);
            modelBuilder.Conventions.Add(new DataTypePropertyAttributeConvention());

            //////////////////////////////////
            // Concrete EntityModel Changes //
            //////////////////////////////////

            modelBuilder.Entity <JobPosting>()
            .HasRequired(p => p.PostingCreator)
            .WithMany()
            .WillCascadeOnDelete(false);
        }
Пример #12
0
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);

            modelBuilder.Entity <WikiSessionWordBank>()
            .HasRequired <WikiSession>(s => s.WikiSession)
            .WithMany(g => g.WikiSessionWordBanks)
            .HasForeignKey <Guid>(s => s.WikiSessionId);

            modelBuilder.Entity <WordBankQueue>()
            .HasRequired <WordBank>(x => x.WordBank)
            .WithMany(g => g.WordBankQueues)
            .HasForeignKey <Guid>(s => s.WordBankId);

            modelBuilder.Entity <WordBankXref>()
            .HasRequired <WordBank>(s => s.WordBank)
            .WithMany(g => g.WordBankXrefs)
            .HasForeignKey <Guid>(s => s.WordBankId);

            var convention = new AttributeToColumnAnnotationConvention <DefaultValueAttribute, string>("SqlDefaultValue", (p, attributes) => attributes.SingleOrDefault().Value.ToString());

            modelBuilder.Conventions.Add(convention);
        }
Пример #13
0
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            Log.Debug("OnModelCreating()");

            Configuration.LazyLoadingEnabled = true;
            base.OnModelCreating(modelBuilder);

            modelBuilder.Conventions.Add <OapTablePrefixConvention>();
            var defaultSqlConvention = new AttributeToColumnAnnotationConvention <SqlDefaultValueAttribute, string>("SqlDefaultValue", (p, attributes) => attributes.SingleOrDefault().Value.ToString());

            modelBuilder.Conventions.Add(defaultSqlConvention);

            //modelBuilder.Conventions.Remove<ManyToManyCascadeDeleteConvention>();

            modelBuilder.Configurations.Add(new RigOapChecklistQuestionMap());
            modelBuilder.Configurations.Add(new DPAMapping());

            if (Model != null)
            {
                throw new InvalidOperationException("Duplicate Model Creation");
            }

            Model = modelBuilder.Build(Database.Connection).Compile();
        }