public void ComposingPatternsAppliersPacksUsingInflector() { // In this example you can see how use the inflector adding some special class name translation. var orm = new ObjectRelationalMapper(); // Creation of inflector adding some special class name translation var inflector = new SpanishInflector(); AddCustomData_Dictionary(inflector); IPatternsAppliersHolder patternsAppliers = (new SafePropertyAccessorPack()) .Merge(new OneToOneRelationPack(orm)) .Merge(new BidirectionalManyToManyRelationPack(orm)) .Merge(new BidirectionalOneToManyRelationPack(orm)) .Merge(new DiscriminatorValueAsClassNamePack(orm)) .Merge(new CoolColumnsNamingPack(orm)) .Merge(new TablePerClassPack()) .Merge(new PluralizedTablesPack(orm, inflector)) // <=== .Merge(new ListIndexAsPropertyPosColumnNameApplier()); // Instancing the Mapper using the result of Merge var mapper = new Mapper(orm, patternsAppliers); orm.TablePerClass <UsuarioWeb>(); var mapping = mapper.CompileMappingFor(new[] { typeof(UsuarioWeb) }); Console.Write(mapping.AsString()); }
public SpanishInflectorTest() { SingularToPlural.Add("inglés", "ingleses"); SingularToPlural.Add("hijo", "hijos"); SingularToPlural.Add("paz", "paces"); SingularToPlural.Add("crisis", "crisis"); SingularToPlural.Add("praxis", "praxis"); SingularToPlural.Add("apendicitis", "apendicitis"); SingularToPlural.Add("llave", "llaves"); SingularToPlural.Add("auto", "autos"); SingularToPlural.Add("ordén", "ordenes"); SingularToPlural.Add("item", "items"); SingularToPlural.Add("linea", "lineas"); SingularToPlural.Add("proveedor", "proveedores"); SingularToPlural.Add("Terminal", "Terminales"); SingularToPlural.Add("ParteFichaTecnica", "ParteFichaTecnicas"); SingularToPlural.Add("pago", "pagos"); SingularToPlural.Add("Ubicación", "Ubicaciones"); SingularToPlural.Add("Origén", "Origenes"); SingularToPlural.Add("ciudad", "ciudades"); SingularToPlural.Add("documento", "documentos"); SingularToPlural.Add("Historial", "Historiales"); SingularToPlural.Add("Promoción", "Promociones"); SingularToPlural.Add("Ordén", "Ordenes"); SingularToPlural.Add("Cliente", "Clientes"); SingularToPlural.Add("Proveedor", "Proveedores"); SingularToPlural.Add("Factura", "Facturas"); SingularToPlural.Add("Tarifa", "Tarifas"); SingularToPlural.Add("Telefono", "Telefonos"); SingularToPlural.Add("TelefonoTipo", "TelefonoTipos"); SingularToPlural.Add("Territorio", "Territorios"); SingularToPlural.Add("Titulo", "Titulos"); SingularToPlural.Add("Tratamiento", "Tratamientos"); SingularToPlural.Add("Usuario", "Usuarios"); SingularToPlural.Add("Rol", "Roles"); SingularToPlural.Add("Item", "Items"); TestInflector = new SpanishInflector(); }
private void AddCustomData_Dictionary(SpanishInflector inflector) { // comment the follow line to see the different table name inflector.AddIrregular("UsuarioWeb", "UsuariosWeb"); }
static Inflector() { English = new EnglishInflector(); Spanish = new SpanishInflector(); }
public void Apply(IClassInstance instance) { var inflector = new SpanishInflector(); instance.Table(inflector.Pluralize(instance.EntityType.Name)); }
public void PluralizeUnaccentWords() { var inflector = new SpanishInflector(); inflector.Pluralize("Orden").Should().Be("Ordenes"); }