MVC+LINQToSQL的Repository模式之(二)数据基类
{
/// <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模式之(二)数据基类,如需转载请自行联系原博主。
MVC+LINQToSQL的Repository模式之(二)数据基类相关推荐
- MVC中业务层是否应该有个基类?它有什么作用?
项目架构N层结构中,业务层无疑是比较灵活多变,与数据库层紧密联系,又同时约束WEB层的中间层,它是否应该有个基类,而如果有,那它的作用又是什么呢? 这就是今天要说的. 首先,我认为每个层都应该有个基类 ...
- C++ day22 继承(二)基类指针数组通过虚方法实现智能的多态
继承一共有三种: 公有继承 私有继承 保护继承 文章目录 公有继承 基类和派生类的关系 is-a(用公有继承表示"是一种"的关系) has-a uses-a is-like-a i ...
- 跟我学MVC系列(Repository模式、LINQ、EF、IOC框架Castle、JQuery、AJAX)(六)(应用IOC模式)...
前五篇已经把Models 介绍完啦,从今天开始我们要介绍"V"&"C"啦.现在我们还是从MVC的定义说起,其实MVC最大的好处就是M层(脱离V与C)可以 ...
- LINQTOSQL作为底层ORM框架后,我们的数据基类就变成了这个样子
1: namespace Data 2: { 3: /// <summary> 4: /// OA数据库基类 5: /// </summary> 6: public abstr ...
- 2017-4-20实体类,数据访问类.字符串攻击.防攻击
程序分三层:界面层.业务逻辑层.数据访问层 这里主要操作的是数据访问层,数据访问层又分为: 1.实体类 2.数据访问类 存放位置:APP_Code文件中 一.实体类 最简单的封装 把数据库的表名变成类 ...
- MVC架构中的Repository模式 个人理解
关于MVC架构中的Repository模式 个人理解:Repository是一个独立的层,介于领域层与数据映射层(数据访问层)之间.它的存在让领域层感觉不到数据访问层的存在,它提供一个类似集合的接口提 ...
- Repository模式
近来发现很多ASP.NET MVC的例子中都使用了Repository模式,比如Oxite,ScottGu最近发布的免费的ASP.NET MVC教程都使用了该模式.就简单看了下. 在<企业架构模 ...
- Repository模式与UnitOfWorks模式的运用
软件开发就像是一个江湖,而设计模式就是一本高深的秘籍每读一次.用一次.想一次都能得到新的领悟,让我们的设计技能有所提高.开始时我们可能会"为了模式而模式",让代码变得乱78糟甚至难 ...
- Repository模式(转载)
近来发现很多ASP.NET MVC的例子中都使用了Repository模式,比如Oxite,ScottGu最近发布的免费的ASP.NET MVC教程都使用了该模式.就简单看了下. 在<企业架构模 ...
最新文章
- mysql safe 关闭_新手请教,mysqld经常自动关闭是什么原因?-问答-阿里云开发者社区-阿里云...
- 智能应答系统php源码,佳蓝智能应答系统 php版下载|佳蓝智能应答系统 php版官方下载-太平洋下载中心...
- Mozilla 准备让“合格” Linux 用户测试 WebRender
- Golang 并发Groutine实例解读(一)
- Linux安装mysql学习
- Matlab | Matlab从入门到放弃(14)——基于Matlab的多变量数据分析
- linux java 安装配置_类Linux环境安装jdk1.8及环境变量配置详解
- html 流程控制,HTML5独家分享:原生JS学习笔记2——程序流程控制
- 华为哪款手表支持鸿蒙,华为Watch 3最早或于5月发布 采用鸿蒙系统并支持eSIM
- C语言版RPG角色生成器
- WPS中插入“公式”后行距不正常的解决办法
- Chat Top10 | 实战:参考牛顿冷却定律优化最热问题的排序
- 中国虚拟人哪家强?沙利文、IDC:小冰百度商汤位列第一梯队
- OSS视频上传后直接播放只有声音没有画面
- java代码质量 圈复杂度,代码圈复杂度(Cyclomatic Complexity,CC)和Oclint工具 介绍...
- 看苹果Metal支持c++开发
- CRM系统在销售中的应用
- npm run dev vuedemo@1.0.0 dev /www/web/yii2_fecshop_docker/app/fecshop/vue_fecshop_appserver
- Ubuntu 怎么卸载自带的国际版 firefox,安装中国版的 firefox
- wordpress更新php,wordpress怎么更新
热门文章
- 译-使用Scroll Snapping实现CSS控制页面滚动
- python与开源_Github上Top20 Python与机器学习开源项目推荐
- [Ext JS6]Ext.Template
- CI -持续集成及相关概念
- c语言 指针函数pdf,C语言指针经验总结(经典).pdf
- strchr和strstr函数
- poj3254(状压dp入门第一道题,很详细)
- Spring Cloud Stream与RabbitMQ 死信队列
- vue.3.0 dom赋值_Vue 3.0 快速入门
- html dom对象简写,HTML DOM 对象