首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

entity framework 怎么高效对多表操作

2012-02-13 
entity framework 如何高效对多表操作比如说验证登录后要对A、B、C、D表进行更新,E、F、G做数据插入,我现在的做

entity framework 如何高效对多表操作
比如说验证登录后要对A、B、C、D表进行更新,E、F、G做数据插入,我现在的做法是:

C# code
if(mymember.isuser(uid)){DBnameEntities db;db = new DBnameEntities();var objA = db.A.Where(t => t.uid == uid).FirstOrDefault();...db.SaveChanges();db = new DBnameEntities();var objB = db.B.Where(t => t.uid == uid).FirstOrDefault();...db.SaveChanges();db = new DBnameEntities();var objC = db.C.Where(t => t.uid == uid).FirstOrDefault();...db.SaveChanges();db = new DBnameEntities();var objD = db.D.Where(t => t.uid == uid).FirstOrDefault();...db.SaveChanges();}.........数据插入也差不多做法,这里省


因为objA、objB、objC、objD的获取分别是封装到4个类中的,所以才有4个new DBnameEntities()
(这4个类分别负责ABCD表的增删改查工作),但现在是我登录时间很长,要将4个表更新,3个表做插入
不知大家是怎样解决的?

[解决办法]
是不是应该只调用一次db.SaveChanges();会好点。
[解决办法]
探讨
是不是应该只调用一次db.SaveChanges();会好点。

[解决办法]
它们是属于一个处理单元的,自然要使用事务,或者类似事务的写法.
[解决办法]
http://msdn.microsoft.com/zh-cn/library/system.threading.tasks.task.aspx

热点排行