entity-framework - moderna - que es el dinero en economia
Genere campos de tipo de dinero usando el código primero EF CTP5 (2)
Por ejemplo, considere esta clase de factura:
public class Invoice
{
public int InvoiceId { get; set; }
public decimal Amount { get; set; }
}
Puedes hacerlo con API fluida:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Invoice>()
.Property(i => i.Amount)
.HasColumnType("Money");
}
O puedes hacerlo con Anotaciones de Datos:
public class Invoice
{
public int InvoiceId { get; set; }
[Column(TypeName="Money")]
public decimal Amount { get; set; }
}
En esta entrada del blog: EF4 Code First Control Unicode y Decimal Precision, Scale with Attributes , Dane Morgridge usó atributos para controlar la creación de diferentes tipos en su base de datos.
... Y encontré este BTW bastante único!
¿Cómo genero campos de tipo de dinero en mi base de datos resultante utilizando el código primero API de EF CTP5, si es posible hacerlo desde su modelo, usando convenciones o atributos?
Lo siento por mi inglés no es mi idioma principal.
Gracias por adelantado.
using System.Data.Entity.ModelConfiguration.Configuration.Properties.Primitive;
public class MoneyAttribute : Attribute { }
public class MoneyAttributeConvention : AttributeConfigurationConvention<PropertyInfo, DecimalPropertyConfiguration, MoneyAttribute> {
public override void Apply(PropertyInfo memberInfo, DecimalPropertyConfiguration configuration, MoneyAttribute attribute) {
configuration.ColumnType = "money";
}
}
entonces usas asi
[Money]
public decimal Value { get; set; }