MVC+LINQToSQL的Repository模式之(二)数据基类

namespace Data.TEST
{
    /// <summary>
    /// 数据操作基类
    /// </summary>
    public abstract class TESTRepositoryBase
    {
        /// <summary>
        /// 数据库基类
        /// </summary>
        protected Entity.TEST.LinqTESTDataContext _db = (Entity.TEST.LinqTESTDataContext)DbFactory.Intance("TEST", System.Threading.Thread.CurrentThread);
        /// <summary>
        /// 统一提交动作
        /// </summary>
        protected virtual void SubmitChanges()
        {
            ChangeSet cSet = _db.GetChangeSet();
            if (cSet.Inserts.Count > 0
                || cSet.Updates.Count > 0
                || cSet.Deletes.Count > 0)
            {
                try
                {
                    _db.SubmitChanges(System.Data.Linq.ConflictMode.ContinueOnConflict);
                }
                catch (System.Data.Linq.ChangeConflictException ex)
                {
                    foreach (System.Data.Linq.ObjectChangeConflict occ in _db.ChangeConflicts)
                    {
                        // 使用当前数据库中的值,覆盖Linq缓存中实体对象的值  
                        occ.Resolve(System.Data.Linq.RefreshMode.OverwriteCurrentValues);
                        // 使用Linq缓存中实体对象的值,覆盖当前数据库中的值  
                        occ.Resolve(System.Data.Linq.RefreshMode.KeepCurrentValues);
                        // 只更新实体对象中改变的字段的值,其他的保留不变  
                        occ.Resolve(System.Data.Linq.RefreshMode.KeepChanges);
                    }
                    _db.SubmitChanges();
                }
            }
        }
    }

}

本文转自博客园张占岭(仓储大叔)的博客,原文链接:MVC+LINQToSQL的Repository模式之(二)数据基类,如需转载请自行联系原博主。

时间: 2024-11-10 10:11:29

MVC+LINQToSQL的Repository模式之(二)数据基类的相关文章

MVC+LINQToSQL的Repository模式之(四)数据统一更新的附加类

namespace public static class DynamicQueryable public static IQueryablethis IQueryablestring params objectreturn IQueryableIQueryablepublic static IQueryable this IQueryable string params objectif nullthrow new ArgumentNullException"source"if nu

MVC+LINQToSQL的Repository模式之(三)Repository模式实现统一CURD操作,实现EF中的Find主键查找

namespace Data.TEST { /// <summary> /// 数据通用操作实现 /// </summary> /// <typeparam name="TEntity"></typeparam> public class Repository<TEntity> : TESTRepositoryBase, IRepository<TEntity> where TEntity : class,IEnt

MVC+LINQToSQL的Repository模式之(五)BLL层实现IOC

namespace Service {     public class Service<TEntity> : IService<TEntity> where TEntity : class,Entity.IEntity     {         private IRepository<TEntity> iRepository = null;         public Service()         {             iRepository = ne

Asp.Net 通用数据操作类 (附通用数据基类)第1/2页_实用技巧

文章内容为本站编辑,创作.你可以任意转载.发布.使用但请务必以明文标注文章原始出处及本声明 http://www.opent.cn  作者:浪淘沙此贴的方法会持续更新, 此文件要引用与数据操作的基类 using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.Web

Asp.Net 数据操作类(附通用数据基类)_实用技巧

using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; namespace EC {

Repository模式介绍汇总

1.Linq To Sql中Repository模式应用场景 http://www.cnblogs.com/zhijianliutang/archive/2012/02/24/2367305.html http://tech.it168.com/a2011/1214/1288/000001288218_2.shtml http://git.oschina.net/kuiyu/Repository-Demo 2.分享基于Entity Framework的Repository模式设计 http://

在ASP.NET中实现MVC模式(二)

asp.net 在ASP.NET中实现Model-View-Controller模式(二) MVC模式形容这种实现方式是一种被动的实现机制,ASP.NET充当了程序执行中的控制器的角色,但程序员必须将具体的事件处理方法添加到事件的响应函数中.如在这个例子中,控制器在页面加载之前调用Page_Load函数并执行其中的代码,当用户点击Submit按钮时由系统调用SubmitBtn_Click函数并执行. 这种将代码都包含在一个文件中的实现方式非常的直接,而且当应用程序很小并不经常修改的时候也可以说是

使用Repository模式支持产品的客户化

  本篇博客简单描述了Repository模式在OEA中的应用. 不使用Repository时的问题     OEA框架中使用了DDD的思想,面向领域对象进行开发.在DDD中,有很多重要的概念,例如:聚合实体对象.值对象.仓储.工厂.服务等.(不太了解的Repository和DDD的朋友,可以看Evans写的<Domain Driven Design>.)     在OEA中,实体的实现框架使用了CSLA分布式框架.原来为了简单并保持和CSLA开发模式的兼容,一直都把实体的获取模式直接以静态方

关于Repository模式

原文:关于Repository模式 定义(来自Martin Fowler的<企业应用架构模式>): Mediates between the domain and data mapping layers using a collection-like interface for accessing domain objects. 个人理解:Repository是一个独立的层,介于领域层与数据映射层(数据访问层)之间.它的存在让领域层感觉不到数据访问层的存在,它提供一个类似集合的接口提供给领域层