public MappingSchema(string configuration, params MappingSchema[] schemas) { MappingSchemaInfo[] ss; if (schemas == null) { ss = Default._schemas; ValueToSqlConverter = new ValueToSqlConverter(Default.ValueToSqlConverter); } else if (schemas.Length == 0) { ss = Array <MappingSchemaInfo> .Empty; ValueToSqlConverter = new ValueToSqlConverter(Default.ValueToSqlConverter); } else if (schemas.Length == 1) { ss = schemas[0]._schemas; ValueToSqlConverter = new ValueToSqlConverter(schemas[0].ValueToSqlConverter); } else { ss = schemas.Where(s => s != null).SelectMany(s => s._schemas).Distinct().ToArray(); ValueToSqlConverter = new ValueToSqlConverter(schemas.Select(s => s.ValueToSqlConverter).ToArray()); } _schemas = new MappingSchemaInfo[ss.Length + 1]; _schemas[0] = new MappingSchemaInfo(configuration); Array.Copy(ss, 0, _schemas, 1, ss.Length); }
internal MappingSchema(MappingSchemaInfo mappingSchemaInfo) { _schemas = new[] { mappingSchemaInfo }; ValueToSqlConverter = new ValueToSqlConverter(); }