两种底层数据层操作时的架构方式,你喜欢那种?
#region 数据底层操作架构一
/// <summary>
/// 用户实体
/// </summary>
public class User
{
public string UserName { get; set; }
public int Age { get; set; }
}
public class UserRepository : IRepository<User>
{
#region IRepository<User> Members
public User Get(object id)
{
User user = new User { };
return user;
}
public IQueryable<User> GetList()
{
throw new NotImplementedException();
}
#endregion
}
/// <summary>
/// 数据操作统一接口,它提供一个贬型作为参数,但要求贬型必须是类
/// </summary>
/// <typeparam name="T"></typeparam>
public interface IRepository<T> where T : class
{
/// <summary>
/// 获取实体
/// </summary>
/// <param name="id">主键</param>
/// <returns></returns>
T Get(object id);
/// <summary>
/// 得到列表
/// </summary>
/// <returns></returns>
IQueryable<T> GetList();
}
#endregion
#region 数据底层操作架构二
class User2 : IDataEntity
{
public string UserName { get; set; }
public int Age { get; set; }
}
/// <summary>
/// 数据实体统一接口
/// </summary>
public interface IDataEntity
{
}
/// <summary>
/// 数据操作统一接口
/// </summary>
public interface IRepository2
{
/// <summary>
/// 获取实体
/// </summary>
/// <param name="id">主键</param>
/// <returns></returns>
IDataEntity Get(object id);
/// <summary>
/// 得到列表
/// </summary>
/// <returns></returns>
IQueryable<IDataEntity> GetList();
}
public class User2Repository : IRepository2
{
#region IRepository2 Members
public IDataEntity Get(object id)
{
throw new NotImplementedException();
}
public IQueryable<IDataEntity> GetList()
{
throw new NotImplementedException();
}
#endregion
}
#endregion
两种底层数据层操作时的架构方式,你喜欢那种?相关推荐
- java按空格分字符串,两种用空格分隔的java字符串的方式
两种用空格分隔的java字符串的方式 两种方式: 1. String str = "123 456 789 111"; String [] strArray = str.split ...
- EF中Add()和Attach()两种添加数据方法的区别
最近在开发一个项目,在实现某个模块数据的插入操作时(底层数据库的交互采用的是EF),发现无论如何数据都不能插入成功,把数据拷贝出来放到数据库中执行Sql语句时却能正确插入,下面给出代码片段 publi ...
- 解码中的AnnexB和avcC两种分割数据方式
目前 H.264 流行的包装方式有两种,一种叫做 AnnexB,一种叫做 avcC.对于这两种格式,各家的支持程度也不太一样,例如,Android 硬解码 MediaCodec 只接受 AnnexB ...
- android打开视频噔_如何运行两种游戏数据包(视频教程)
视频教程 游戏下好进入ZArchiver找到游戏 游戏在BaiduNetdisk文件夹里点进去 解压游戏 然后看视频教程. 第一种Android数据包方法 解压软件:ZArchiver 链接:htt ...
- HashMap两种遍历数据的方式
HashMap的遍历有两种方式,一种是entrySet的方式,另外一种是keySet的方式. 第一种利用entrySet的方式: Map map = new HashMap(); Iterator i ...
- centos5.6 (64bit)编译安装vsftpd-2.3.4的配置(两种用户登录)[连载之电子商务系统架构]...
centos5.6 (64bit)编译安装vsftpd-2.3.4的配置(两种用户登录) 出处:http://jimmyli.blog.51cto.com/我站在巨人肩膀上Jimmy Li 作者:Ji ...
- python语言的两种注释方法_python编程时添加中文注释的方法
python编程时添加中文注释的方法 发布时间:2020-08-24 17:09:52 来源:亿速云 阅读:77 作者:小新 这篇文章主要介绍python编程时添加中文注释的方法,文中介绍的非常详细, ...
- Google Earth Engine(GEE)——NASA 和UCSB对比两种降水数据的降水差异分析
本文需要以下几个步骤: 第 1 步:选择您的区域并导入数据 第 2 步:筛选感兴趣的期间 第 3 步:计算平均降雨量 第 4 步:将数据添加到他们的地图 数据1:GPM: Global Precipi ...
- 在解析完Excel表格之后,将每一行数据入库操作时,加入进度条,提示进度展示
//后台Action中的代码 /*** 解析处理Excel并入库*/ public void inputExcel() {//....前边的解析过程和入库过程就不写了//...只要注意没有数据格式问题 ...
最新文章
- 小波变换教程(1):基本原理
- python对列表进行去重_Python对列表去重的4种方法
- Godaddy如何导入导出MSSQL数据库
- Linux网络相关知识
- 利用HttpRequester进行接口测试
- fork+exit+php,php实现简单的守护进程创建、开启与关闭操作
- leetcode910. 最小差值 II(贪心)
- 官宣!组建新“电子科技大学”、“航空航天大学”!
- linux防火墙服务关闭,Linux防火墙(firewall)的开启与关闭
- 2020年中国林业有害生物发生及防治面积统计情况,林业有害生物防控措施工作的开展刻不容缓「图」
- Word文件忘记保存,恢复文件信息的方法
- 如何快速切换各种pip源
- 仅有几个分布点,绘制物种的分布图
- Android-再次解读萤石云视频
- win10计算机 需要新应用,解决win10应用商店提示“需要新应用打开此ms-windows-store”的步骤...
- 知乎高赞:有哪些高逼格的公众号值得推荐
- 2016年度星级专利代理机构名单排名
- 计算机简史,硬件组成及基本原理
- 中职计算机基础微课,微课在中职“计算机应用基础”课程教学中的应用探讨_优秀论文...
- 从知识直播和创新活动中,看搜狐的内容“新”路
热门文章
- SNMP系统信息获取工具onesixtyone
- Kali Linux 安全渗透教程第五更1.4 安装Kali Linux
- ue4 改变枢轴位置_【UE4地形】轻松实现UE4自动地貌和自动植被分布
- mysql去除输入的字符串中的中文_Sql得到(去除)字符串中所有汉字,字母,数字的函数...
- Python的list中的选取范围
- java线程能做什么_java中的多线程能做什么 ?基本作用能说下吗?
- unity 编辑器存档_Unity教程 | 自制简易的游戏存档系统
- ERPLAB中文教程:ERPLAB安装与添加通道
- JStorm与Storm源码分析(六)--收集器 IOutputCollector 、OutputCollector
- C++程序员如何入门Unreal Engine 4