实体框架。 SaveChanges覆盖。跟踪器返回null

时间:2016-12-26 07:55:13

标签: c# asp.net-mvc entity-framework

我想在SaveChanges中为我的模型类设置一些属性。

我的代码

selectedEntityList始终为null,但会将记录添加到数据库中。

public override int SaveChanges()
{
    var selectedEntityList = ChangeTracker.Entries().Where(x=> x.State == EntityState.Added);

    foreach (var entity in selectedEntityList)
    {
        var type = entity.GetType();
        var properites = entity.GetType().GetProperties();

        foreach(var pr in properites.Where(p=>p.Name=="Position"))
        {
            pr.SetValue(type, "150", null);
        } 
    }

    return base.SaveChanges();
}

1 个答案:

答案 0 :(得分:1)

现在,代码工作正常。谢谢大家!

 public override int SaveChanges()
 {
     var selectedEntityList = ChangeTracker.Entries();
     foreach (var entity in selectedEntityList)
     {
         var type = entity.GetType();
         var properites = entity.Entity.GetType().GetProperties();
         var pr = properites.SingleOrDefault(p => p.Name == "Position");
            pr.SetValue(entity.Entity, 150, null);
     }
     return base.SaveChanges();
 }