示例#1
0
        public static ModelBuilderTest.TestEntityTypeBuilder <TEntity> ToTable <TEntity>(
            this ModelBuilderTest.TestEntityTypeBuilder <TEntity> builder, string name, string schema)
            where TEntity : class
        {
            var genericBuilder = (builder as IInfrastructure <EntityTypeBuilder <TEntity> >)?.Instance;

            if (genericBuilder != null)
            {
                genericBuilder.ToTable(name, schema);
            }
            else
            {
                (builder as IInfrastructure <EntityTypeBuilder>).Instance.ToTable(name, schema);
            }
            return(builder);
        }
示例#2
0
        public static ModelBuilderTest.TestEntityTypeBuilder <TEntity> ToTable <TEntity>(
            this ModelBuilderTest.TestEntityTypeBuilder <TEntity> builder, string name, string schema)
            where TEntity : class
        {
            switch (builder)
            {
            case IInfrastructure <EntityTypeBuilder <TEntity> > genericBuilder:
                genericBuilder.Instance.ToTable(name, schema);
                break;

            case IInfrastructure <EntityTypeBuilder> nongenericBuilder:
                nongenericBuilder.Instance.ToTable(name, schema);
                break;
            }

            return(builder);
        }
        public static ModelBuilderTest.TestEntityTypeBuilder <TEntity> ToTable <TEntity>(
            this ModelBuilderTest.TestEntityTypeBuilder <TEntity> builder,
            Action <RelationalModelBuilderTest.TestTableBuilder <TEntity> > buildAction)
            where TEntity : class
        {
            switch (builder)
            {
            case IInfrastructure <EntityTypeBuilder <TEntity> > genericBuilder:
                genericBuilder.Instance.ToTable(b => buildAction(new RelationalModelBuilderTest.GenericTestTableBuilder <TEntity>(b)));
                break;

            case IInfrastructure <EntityTypeBuilder> nongenericBuilder:
                nongenericBuilder.Instance.ToTable(b => buildAction(new RelationalModelBuilderTest.NonGenericTestTableBuilder <TEntity>(b)));
                break;
            }

            return(builder);
        }
示例#4
0
        public static ModelBuilderTest.TestEntityTypeBuilder <TEntity> HasPartitionKey <TEntity, TProperty>(
            this ModelBuilderTest.TestEntityTypeBuilder <TEntity> builder, Expression <Func <TEntity, TProperty> > propertyExpression)
            where TEntity : class
        {
            switch (builder)
            {
            case IInfrastructure <EntityTypeBuilder <TEntity> > genericBuilder:
                genericBuilder.Instance.HasPartitionKey(propertyExpression);
                break;

            case IInfrastructure <EntityTypeBuilder> nonGenericBuilder:
                var memberInfo = propertyExpression.GetMemberAccess();
                nonGenericBuilder.Instance.HasPartitionKey(memberInfo.Name);
                break;
            }

            return(builder);
        }
        public static ModelBuilderTest.TestEntityTypeBuilder <TEntity> HasPartitionKey <TEntity>(
            this ModelBuilderTest.TestEntityTypeBuilder <TEntity> builder,
            string name)
            where TEntity : class
        {
            switch (builder)
            {
            case IInfrastructure <EntityTypeBuilder <TEntity> > genericBuilder:
                genericBuilder.Instance.HasPartitionKey(name);
                break;

            case IInfrastructure <EntityTypeBuilder> nonGenericBuilder:
                nonGenericBuilder.Instance.HasPartitionKey(name);
                break;
            }

            return(builder);
        }
        public static ModelBuilderTest.TestEntityTypeBuilder <TEntity> HasCheckConstraint <TEntity>(
            this ModelBuilderTest.TestEntityTypeBuilder <TEntity> builder,
            string name,
            string?sql)
            where TEntity : class
        {
            switch (builder)
            {
            case IInfrastructure <EntityTypeBuilder <TEntity> > genericBuilder:
                genericBuilder.Instance.HasCheckConstraint(name, sql);
                break;

            case IInfrastructure <EntityTypeBuilder> nongenericBuilder:
                nongenericBuilder.Instance.HasCheckConstraint(name, sql);
                break;
            }

            return(builder);
        }
        public static ModelBuilderTest.TestEntityTypeBuilder <TEntity> HasCheckConstraint <TEntity>(
            this ModelBuilderTest.TestEntityTypeBuilder <TEntity> builder,
            string name,
            string sql,
            Action <RelationalModelBuilderTest.TestCheckConstraintBuilder> buildAction)
            where TEntity : class
        {
            switch (builder)
            {
            case IInfrastructure <EntityTypeBuilder <TEntity> > genericBuilder:
                genericBuilder.Instance.HasCheckConstraint(name, sql,
                                                           b => buildAction(new RelationalModelBuilderTest.NonGenericTestCheckConstraintBuilder(b)));
                break;

            case IInfrastructure <EntityTypeBuilder> nongenericBuilder:
                nongenericBuilder.Instance.HasCheckConstraint(name, sql,
                                                              b => buildAction(new RelationalModelBuilderTest.NonGenericTestCheckConstraintBuilder(b)));
                break;
            }

            return(builder);
        }