首页 新闻 会员 周边 捐助

Linq to sql的datacontext原理?

0
悬赏园豆:5 [已解决问题] 解决于 2013-04-16 18:02

我想问问,Linq中,GetTable()、GetChangeSet与SubmitChanges,之间的关系,我怎么通过datacontext获取到里面的表实体并进行筛选,再获取有变化的实体,获取后能回滚到变化前的吗?能用那个rollback这个方法吗?

清风伴你行的主页 清风伴你行 | 初学一级 | 园豆:153
提问于:2013-03-03 11:36
< >
分享
最佳答案
0

GetTable():得到指定表对象的集合,当语句返回类型是ToList()时,表示语句真正与数据库建立连接,并执行。

GetChangeSet()方法得到insert,update,delete这种动作的数量,以便去提交更改操作

SubmitChanges()将insert,update,delete等操作,提交到数据库,真正去运行linq to sql的增删改语句。

linq to sql架构中,如果使用事务,应用用TransactionScope,而这个事务不存在rollback回滚操作,出现异常后,由系统自动进行回滚!

收获园豆:5
张占岭 | 菜鸟二级 |园豆:464 | 2013-03-03 13:22

谢谢,可能我问的不清楚,我是想问问,当linq的实体发行变化时,我怎么知道他变了,有什么方法或事件可以监控??

清风伴你行 | 园豆:153 (初学一级) | 2013-03-03 14:12

@清风伴你行: 

你可以知道实体的哪个属性发生变化了,这个linq to sql是可以办到的,呵呵 ,在DBML文件中,对于属性都有改变前与改变后的事件,如果你有不清楚的地方,可以看一下我的博文:

http://www.cnblogs.com/lori/archive/2012/05/19/2508923.html

张占岭 | 园豆:464 (菜鸟二级) | 2013-03-06 22:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册