C# 4.0 如何在不使用POCO文件的情况下检测实体的更改

C# 4.0 如何在不使用POCO文件的情况下检测实体的更改,c#-4.0,mvvm,entity-framework-4,C# 4.0,Mvvm,Entity Framework 4,我需要检测我的实体对象是否脏。我没有使用POCO文件。我只是有一个模型类,我使用的是实体框架4.0 我在用户输入表单中有一个注释字段,我需要查找用户是否对注释进行了一些更改。为此,我使用以下方法: public bool DetectChanges() { return (insurableRiskEntities.ObjectStateManager.GetObjectStateEntries(EntityState.Added | EntityState.Modifi

我需要检测我的实体对象是否脏。我没有使用POCO文件。我只是有一个模型类,我使用的是实体框架4.0

我在用户输入表单中有一个注释字段,我需要查找用户是否对注释进行了一些更改。为此,我使用以下方法:

public bool DetectChanges()
    {
        return (insurableRiskEntities.ObjectStateManager.GetObjectStateEntries(EntityState.Added | EntityState.Modified | EntityState.Deleted).Any());
    }
由于某些原因,它不能正常工作。它返回false,即使我输入的注释已更改


有什么建议吗,关于我在这里遗漏了什么?

您希望使用逻辑运算符而不是二进制运算符

EntityState.Added | EntityState.Modified | EntityState.Deleted
表示设置了所有3种状态的对象。您想使用
EntityState.Added | | EntityState.Modified | | EntityState.Deleted
检查是否设置了其中任何一个