Ram*_*rez 27 entity-framework ef-code-first entity-framework-ctp5
在这篇博客文章中:EF4 Code First Control Unicode和Decimal Precision,Scale with Attributes,Dane Morgridge使用属性来控制数据库中不同类型的创建.
......我发现这个非常独特的BTW!
如何使用EF CTP5的代码优先API在生成的数据库中生成货币类型字段,是否可以使用约定或属性从模型中执行此操作?
抱歉,我的英语不是我的主要语言.
提前致谢.
Mor*_*avi 50
例如,考虑这个Invoice类:
public class Invoice
{
public int InvoiceId { get; set; }
public decimal Amount { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
你可以使用流畅的API来做到这一点:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Invoice>()
.Property(i => i.Amount)
.HasColumnType("Money");
}
Run Code Online (Sandbox Code Playgroud)
或者您可以使用数据注释来完成:
public class Invoice
{
public int InvoiceId { get; set; }
[Column(TypeName="Money")]
public decimal Amount { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
Kim*_*jan 11
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";
}
}
Run Code Online (Sandbox Code Playgroud)
然后就像那样使用
[Money]
public decimal Value { get; set; }
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
25002 次 |
最近记录: |