Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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# 将Linq更新为实体时排除列_C#_Linq - Fatal编程技术网

C# 将Linq更新为实体时排除列

C# 将Linq更新为实体时排除列,c#,linq,C#,Linq,我正在尝试存储更新日期并为所有记录创建日期 我为SaveChanges方法添加了覆盖,当我更新一条记录时,CreatedDate将变为null。所以我的问题是,在更新时,我如何保持CreatedDate不变 public override int SaveChanges() { try { var changeSet = ChangeTracker.Entries(); dynamic obj;

我正在尝试存储更新日期并为所有记录创建日期

我为SaveChanges方法添加了覆盖,当我更新一条记录时,CreatedDate将变为null。所以我的问题是,在更新时,我如何保持CreatedDate不变

    public override int SaveChanges()
    {
        try
        {
            var changeSet = ChangeTracker.Entries();
            dynamic obj;
            if (changeSet != null)
            {
                foreach (var entry in changeSet.Where(c => c.State == EntityState.Added))
                {
                    obj = entry.Entity;
                    obj.CreatedDate = DateTime.UtcNow;
                }
                foreach (var entry in changeSet.Where(c => c.State == EntityState.Modified))
                {
                    obj = entry.Entity;
                    obj.ModifiedDate = DateTime.UtcNow;
                }
            }
        }
        catch (Exception ex)
        {
            throw;
        }
        return base.SaveChanges();
    }

很简单,更新时不要传递CreateDate

 if (changeSet != null)
            {
                foreach (var entry in changeSet.Where(c => c.State == EntityState.Added))
                {
                    obj = entry.Entity;

                }
                foreach (var entry in changeSet.Where(c => c.State == EntityState.Modified))
                {
                    obj = entry.Entity;

                }
            }

一般建议-为什么不使用if-else将这2个循环合并为1?@Bakri没关系,如果有新的日期,则添加验证,然后通过