示例#1
0
        public void Apply(IClassInstance instance)
        {
            var tableName = NameConventions.Quote(NameConventions.GetTableName(instance.EntityType));

            instance.Table(tableName);
            instance.BatchSize(25);
        }
示例#2
0
        public void Apply(IManyToOneInstance instance)
        {
            var type   = instance.EntityType;
            var member = instance.Property;

            var columnName = NameConventions.GetForeignKeyConstraintName(type.Name, member.Name);

            instance.ForeignKey(columnName);
        }
示例#3
0
        public void Apply(IJoinedSubclassInstance instance)
        {
            var type     = instance.EntityType;
            var baseType = type.BaseType;

            if (baseType == null)
            {
                return;
            }

            var constraintName = NameConventions.GetForeignKeyConstraintName(type.Name, baseType.Name);

            instance.Key.ForeignKey(constraintName);
        }
示例#4
0
        public void Apply(IManyToManyCollectionInstance instance)
        {
            if (instance.OtherSide == null)
            {
                var childConstraint = NameConventions.GetManyToManyForeignKeyConstraintName(instance.EntityType.Name, instance.ChildType.Name, instance.ChildType.Name);
                instance.Relationship.ForeignKey(childConstraint);

                var childConstraint2 = NameConventions.GetManyToManyForeignKeyConstraintName(instance.EntityType.Name, instance.ChildType.Name, instance.EntityType.Name);
                instance.Key.ForeignKey(childConstraint2);
            }
            else
            {
                var childConstraint = NameConventions.GetManyToManyForeignKeyConstraintName(instance.OtherSide.EntityType.Name, instance.EntityType.Name, instance.ChildType.Name);
                instance.Relationship.ForeignKey(childConstraint);

                var childConstraint2 = NameConventions.GetManyToManyForeignKeyConstraintName(instance.OtherSide.EntityType.Name, instance.EntityType.Name, instance.EntityType.Name);
                instance.Key.ForeignKey(childConstraint2);
            }
        }
示例#5
0
        public void Apply(IPropertyInstance instance)
        {
            var name = NameConventions.ReplaceCamelCaseWithUnderscore(instance.Name);

            instance.Column(name.ToUpper());
        }
示例#6
0
        public void Apply(IIdentityInstance instance)
        {
            string columnName = NameConventions.GetPrimaryKeyColumnName(instance.EntityType);

            instance.Column(columnName);
        }
示例#7
0
        public void Apply(ICollectionInstance instance)
        {
            var constraint = NameConventions.GetForeignKeyConstraintName(instance.ChildType.Name, instance.EntityType.Name);

            instance.Key.ForeignKey(constraint);
        }
        protected override string GetKeyName(Member member, Type type)
        {
            string name = NameConventions.ReplaceCamelCaseWithUnderscore(member == null ? type.Name : member.Name);

            return(string.Format("{0}_ID", name.ToUpper()));
        }
示例#9
0
 private static string GetTableName(Type entityType, Type otherSideType)
 {
     return(NameConventions.Quote(NameConventions.JoinParts(entityType.Name, otherSideType.Name)));
 }