Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用EF4.0创建审核记录_C#_Winforms_Entity Framework - Fatal编程技术网

C# 使用EF4.0创建审核记录

C# 使用EF4.0创建审核记录,c#,winforms,entity-framework,C#,Winforms,Entity Framework,我试图创建一个审计记录,用于历史目的。我从下面的文章中找到了这段代码 List<sysaudit> auditTrailList = new List<sysaudit>(); IEnumerable<ObjectStateEntry> changes = ObjectStateManager.GetObjectStateEntries(EntityState.Added | EntityState.Deleted | EntityS

我试图创建一个审计记录,用于历史目的。我从下面的文章中找到了这段代码

List<sysaudit> auditTrailList = new List<sysaudit>();
            IEnumerable<ObjectStateEntry> changes =  ObjectStateManager.GetObjectStateEntries(EntityState.Added | EntityState.Deleted | EntityState.Modified);
            foreach (ObjectStateEntry stateEntryEntity in changes)
            {
                if (!stateEntryEntity.IsRelationship &&
                        stateEntryEntity.Entity != null &&
                            !(stateEntryEntity.Entity is sysaudit))
                {//is a normal entry, not a relationship
                    sysaudit audit = pamsContext.AuditTrailFactory(stateEntryEntity, "");
                    auditTrailList.Add(audit);
                }
            }
            if (auditTrailList.Count > 0)
            {
                foreach (var audit in auditTrailList)
                {//add all audits
                    this.AddToDBAudit(audit);
                }
            }
这就是它抱怨的那条线

IEnumerable<ObjectStateEntry> changes = ObjectStateManager.GetObjectStateEntries(EntityState.Added | EntityState.Deleted | EntityState.Modified);
IEnumerable changes=ObjectStateManager.GetObjectStateEntries(EntityState.Added | EntityState.Deleted | EntityState.Modified);

该行上的EntityState应参考System.Data.EntityState枚举。您能否将鼠标悬停在提及的EntityState上以验证这一点

考虑到您提到的编译错误,我怀疑您的类还包含名为EntityState的非静态字段或属性

如果是这样,您将需要更改相关行以完全限定名称空间,即:

IEnumerable<ObjectStateEntry> changes = ObjectStateManager.GetObjectStateEntries(System.Data.EntityState.Added | System.Data.EntityState.Deleted | System.Data.EntityState.Modified);
IEnumerable changes=ObjectStateManager.GetObjectStateEntries(System.Data.EntityState.Added | System.Data.EntityState.Deleted | System.Data.EntityState.Modified);

pamsContext对象是否已初始化?
IEnumerable<ObjectStateEntry> changes = ObjectStateManager.GetObjectStateEntries(System.Data.EntityState.Added | System.Data.EntityState.Deleted | System.Data.EntityState.Modified);