使用 Entity Framework,我用属性的“显示友好”版本扩展了一个实体类,在本例中,CommissionRate
是一个实体属性,CommissionRateDisplay
这是我自己的自定义属性。在我绑定(bind)的 Web 窗体控件中,我想显示一个整数百分比 3 但在数据库中我想存储为小数 0.03。
我在名为 CommissionRateDisplay
的分部类中使用 get
和 set
方法创建了一个自定义字段,如下所示:
partial class SalesOrder
{
public double CommissionRateDisplay
{
get { return (this.CommissionRate ?? 0) * 100; }
set { this.CommissionRate = value / 100; }
}
}
保存实体时,出现以下错误:
在插入、更新或删除操作期间,在实体上找不到名为“CommissionRateDisplay”的属性。检查以确保指定为绑定(bind)表达式的属性可用于数据源。
我只想绑定(bind)我的自定义属性并让它在数据库中保留修改后的原始属性。 获取
值工作得很好,但设置
则不行。
我是在以正确的方式处理这个问题,还是有更好的方法?如果这是重复的,我们深表歉意;我找不到能够清楚简洁地解决问题的解决方案。
最佳答案
您需要向您的自定义属性添加一个 [NotMapped]
注释,让 Entity Framework 知道您不希望它成为表中的一列。
关于c# - Entity Framework - 数据绑定(bind)自定义字段错误(未找到属性),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28184435/