相关疑难解决方法(0)

实体框架5 - 为什么在PropertyValue设置回原始状态后实体状态为"已修改"

我使用EF5,并且在我将此实体的唯一更改的PropertyValue设置回原始值之后,不知道为什么实体具有"已修改"状态.

using (TestDbContext context = new TestDbContext())
        {
            string name = context.Person.First().Name;

            // count is 0
            int count = context.ChangeTracker.Entries().Count(e => e.State == EntityState.Modified);

            // Change Value
            context.Person.First().Name = "Test";

            // count is 1 
            count = context.ChangeTracker.Entries().Count(e => e.State == EntityState.Modified);

            // Revert Value
            context.Person.First().Name = name;


            context.ChangeTracker.DetectChanges();

            // count is 1 
            count = context.ChangeTracker.Entries().Count(e => e.State == EntityState.Modified);
        }
Run Code Online (Sandbox Code Playgroud)

为什么?:(

c# entity-framework

9
推荐指数
2
解决办法
2万
查看次数

标签 统计

c# ×1

entity-framework ×1