Linq to Entity 数据访问对象DataContext 和SqlHelper还是不一样。 SqlHelper 的静态方法中每次都是
using (SqlConnection conn = new SqlConnection(connectionString)) 实例。
DAL层:
}
原来代码:DAL.UserShopDAL 数据操作为静态的。也就是DataContext是静态的,这样的话,Linq更新数据后,再读出数据的时候就还是旧数据。
因为DataContext里面有数据,就不再和数据库连接。注意Linq这时在查DataContext里面的数据。
}
}
原因:DataContext为静态,第二次查的时候由于没有new所以里面含有第一次的数据,查询出来就还是原来的数据。
解决方案:
每次查询时候new就可以。
1.可以在BLL的每个方法中new UserInfoDAL();
2. 添加工厂类CreateDALFactory 来集中管理:
}
}
}
BLL的方法中改为:
CreateDALFactory.CreateUserInfoDAL().UpdateUserInfo(PingCoUser);
}
}