C# GetOriginal()返回null

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 {

我正在Silverlight应用程序中使用EF+RIA服务。 我面临的问题是,在调用
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()
?你能给我们看一段你使用它的代码吗?