我想问问,Linq中,GetTable()、GetChangeSet与SubmitChanges,之间的关系,我怎么通过datacontext获取到里面的表实体并进行筛选,再获取有变化的实体,获取后能回滚到变化前的吗?能用那个rollback这个方法吗?
GetTable():得到指定表对象的集合,当语句返回类型是ToList()时,表示语句真正与数据库建立连接,并执行。
GetChangeSet()方法得到insert,update,delete这种动作的数量,以便去提交更改操作
SubmitChanges()将insert,update,delete等操作,提交到数据库,真正去运行linq to sql的增删改语句。
linq to sql架构中,如果使用事务,应用用TransactionScope,而这个事务不存在rollback回滚操作,出现异常后,由系统自动进行回滚!
谢谢,可能我问的不清楚,我是想问问,当linq的实体发行变化时,我怎么知道他变了,有什么方法或事件可以监控??
@清风伴你行:
你可以知道实体的哪个属性发生变化了,这个linq to sql是可以办到的,呵呵 ,在DBML文件中,对于属性都有改变前与改变后的事件,如果你有不清楚的地方,可以看一下我的博文:
http://www.cnblogs.com/lori/archive/2012/05/19/2508923.html