奇怪的问题:db.tbLog.Add(log)竟然被覆盖了

结论:EF的缓存使对实体店修改,不管savechanges()没有,下次取同样的实体都是修改过的。

            tbLog log = new tbLog();
            log.Operator_name = "test";
            //1会员,2服务中心,3管理员
            log.Operator_Type = "管理员";
            log.DateTime = DateTime.Now;
            log.IP = GetClientIPOrAdd.GetIP();
            log.Operation = "ExecuteSqlCommand时间:" + a;
            db.tbLog.Add(log);
            
            tbLog log1 = log;
            log1.Operation = "EF时间:" + b;
            db.tbLog.Add(log1);

            db.SaveChanges();

结果log的数据被覆盖了,只有log1的数据添加进来数据库。

posted on 2015-04-18 23:27  泰德  阅读(155)  评论(0编辑  收藏  举报