EF 创建的所有实体都是分部类。所以它是可扩展的。假设我有像 Person 这样的实体
partial class Person{FirstName, LastName, .....}
然后我想添加一个计算属性名称,例如:
partial class Person{
[DataMember]
public string Name
{
get { return String.Format("{0} {1}", this.FirstName, this.LastName); }
}
partial void OnFirstNameChanged()
{
//.....
this.ReportPropertyChanged("Name");
}
partial void OnLastNameChanged()
{
//.....
this.ReportPropertyChanged("Name");
}
//....
}
然后对于数据更新操作我收到以下错误:
属性“名称”在实体对象上没有有效的实体映射。有关更多信息,请参阅实体框架文档。
如何解决这个问题?
我刚刚遇到了同样的错误。
不要使用“ReportPropertyChanged()”,而是使用“OnPropertyChanged()”。就这样吧。
ReportPropertyChanged() 仅适用于真实实体对象(例如 FirstName 和 LastName,例如真实数据库字段),但不适用于那些计算对象(例如 Name,仅存在于您的部分类中)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)