zoukankan      html  css  js  c++  java
  • 随笔关于Linq to Sql Transaction

    正在听郭德纲相声,同事突然问用Linq to Sql 怎么实现一个Transaction,当时随口说了一句“如果SQL语句比较复杂就用一个存储过程实现吧“。
    以前也多少了解过Linq to Sql,也简单的执行一此数据库操作,但对Linq to Sql中的Transaction还真没有研究过,随口又说一句“我帮你查查,我最爱干这事了”。
    以下是查询结果:
    ---------------------
    不管你是由我的書中,或是MSDN、網站處得知,LINQ to SQL之DataContext於SubmitChanges函式執行時,就算不指定Transaction,DataContext都會自動啟動一個Transaction,在許多ORM中,這算是相當常見的設計。
     不過,如果我不想要這個預設的Transaction呢?原因有很多,可能是為了減少Lock的時間,或是效能、資源等等,反正就是不想要這個預設行為就是了!只要簡簡單單的更新資料就好了。
     可能嗎?就目前的LINQ To SQL設計來說,這個行為是強制性的,且無可調整之空間,但!若要強渡關山也不是沒交通工具,DataContext開了一個小口,讓我們可以覆載SubmitChanges函式,以此為起點,我利用了大量的Reflection技巧,讓Transaction消失。
    本段来自CSDN博客,转载请标明出处:http://blog.csdn.net/Code6421/archive/2008/05/22/2469460.aspx

    以上来自黄忠诚老师的Blog,说明Linq to Sql中的 Transaction中默认的,即当你执行一个操作时会自己启动一个Transction。同时文章中也给出了如何禁止这一行为的方法,受益非浅!

  • 相关阅读:
    linux内核启动汇编部分详解
    linux内核zImage详解
    Linux内核zImage怎么来的?
    Linux内核编译make做了什么?
    关于makefile的几点经验
    note
    tmp0000
    tmp
    SSL学习与总结
    C++学习笔记
  • 原文地址:https://www.cnblogs.com/wservices/p/1583923.html
Copyright © 2011-2022 走看看