C# GetOriginal()返回null
我正在Silverlight应用程序中使用EF+RIA服务。 我面临的问题是,在调用C# GetOriginal()返回null,c#,silverlight,entity-framework,wcf-ria-services,C#,Silverlight,Entity Framework,Wcf Ria Services,我正在Silverlight应用程序中使用EF+RIA服务。 我面临的问题是,在调用SubmitChanges操作之前,我试图将修改后的实体与其原始值进行比较。但由于某些原因,即使对于具有EntityState==Modified的实体,也会返回null 下面是我正在使用的扩展方法: public static T GetOriginalEntity<T>(this T entity) where T : Entity {
SubmitChanges
操作之前,我试图将修改后的实体与其原始值进行比较。但由于某些原因,即使对于具有EntityState==Modified
的实体,也会返回null
下面是我正在使用的扩展方法:
public static T GetOriginalEntity<T>(this T entity) where T : Entity
{
return (T)entity.GetOriginal();
}
公共静态T GetOriginalEntity(此T实体),其中T:entity
{
return(T)entity.GetOriginal();
}
如何获取原始实体值?非常奇怪。请确认,这些是您从数据库加载并在客户端修改的实体?@AlastairPitts yes。无论是修改过的实体还是未接触过的实体,我都得到了相同的行为。我查看了
entity.GetOriginal()
的源代码,它应该从实体返回null的唯一时间是如果原始值不存在。在调用GetDefault()
之前,您是否调用了IRevertibleChangeTracking.RejectChanges()
或IChangeTracking.AcceptChanges()
?你能给我们看一段你使用它的代码吗?