有这样一个需求:需要将之前的一个数据库拆分成多个业务库
分成会员库,日志库,机票业务、旅游业务等
现在使用的是单例模式,通过每次查询或新增数据,传入对应的conn,去创建context.
if (context == null)
{
context = new DBContextEntities(whereDb);
CallContext.SetData("DbContext", context);
oldDb = whereDb;
}
else if (oldDb == whereDb)
{
}
else
{
context = new DBContextEntities(whereDb);
CallContext.SetData("DbContext", context);
oldDb = whereDb;
}
//
结果就有问题了,比如一个用户在执行批量插入操作。先foreach追加到上下文
db.Set<T>().Add(entity); 然后db.savechanges保存
如果同时有其他用户在访问网站,就会导致savechanges已经提交。
批量操作的用户虽然方法提示成功,但是insert into的数量不对。
Smart猫小萌
相关分类