我一直在使用我的POCO的Money的自定义类型,并试图将其插入到我的数据库中,但它实际上是由Entity Framework抛弃。EF 4.1使用自定义类型处理钱
这是我的代码变得简单;
我的类型;
public struct Money
{
private static decimal _value;
public Money(Decimal value)
{
_value = value;
}
public static implicit operator Money(Decimal value)
{
return new Money(value);
}
public static implicit operator decimal(Money value)
{
return _value;
}
}
我的对象;
public class MyObject
{
[Key]
public int Id { get; set; }
public Money MyMoney { get; set; }
}
我的背景;
public class Data : DbContext
{
public Data()
: base("Data Source=.;Database=MyTest;Integrated Security=True")
{}
public DbSet<MyObject> MyObject { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<MyObject>()
.Property(p => p.MyMoney).HasColumnName("MyMoney");
}
}
当我使用此代码时,出现以下错误。
属性'MyMoney'不是'MyObject'类型的 声明的属性。 验证该属性是否已被 明确从模型中排除 使用Ignore方法或 NotMappedAttribute数据注释。 确保它是有效的基元 属性。
我想问题是最后一句....那么,什么是有效的原始属性?有没有其他的方式来照顾这个?
每个, 也许你可以帮我:http:// stackoverflow。com/q/6794565/828162 – iuristona 2011-07-22 20:06:24