如题,请简单描述下设计方案(提供类图最好了),要求能够做到这几点:1. DAL不负责事务控制,将事务控制放在BLL层或自动完成;
2. 可扩展,如日后可以更换数据库存取技术为LINQ to SQL而对上层没有影响。请大家帮忙,提供一下这方面的链接也可以!多谢了!

解决方案 »

  1.   

    我觉得这个问题应该不是很难回答吧!当然要讨论怎么设计好DAL会是个比较大的话题,我之所以问这个是因为自己之前一直做Java语言的开发,并且用AOP来控制事务,现在转入.NET阵营以后,对各方面的技术还不是特别了解,所以想请大家结合自己平时的项目经验简单提供下设计思路,希望大家踊跃发言呀!
      

  2.   

      
        using (TransactionScope scope = new TransactionScope())  
        {   //创建事物对象  
            try  
            {  
                //执行事务操作的相关代码  
           
           
                scope.Complete();  //提交事物  
            }  
            catch (Exception ex) { throw ex; } //抛出异常  
            finally { scope.Dispose(); }  //回滚事物  
        }  
      

  3.   


    有个疑问:
    这个TransactionScope对象能不能在Entity Framework下用,Entity Framework生成的ObjectContext对象不是有个SaveChanges方法吗?