大家来探讨下,IRepository 应该怎么定义?

ORM已EF为例子:我见的最多的是泛型的IRepository,

public partial interface IRepository<T> where T : BaseEntity
{
T GetById(object id);
void Insert(T entity);
void Update(T entity);
void Delete(T entity);
IQueryable<T> Table { get; }
}

 

数据层主要就定义一个这样的接口及对应的实现,然后Services层就通过注入就可以对对应表的(如 IRepository<User>)进行增删改查了。

我现在的问题主要是关于查询的,不同的Services都可能对一个表进行操作,如查询对应ID集合的User,这种方式就会造成不同的Services就有类似的方法 GetUsersByIds(Ilist<int> ids);

我的想法是是不是应该在数据层对每个表建立一个IRepository,如User表建立一个IUserRepository?不过这样开发就很繁琐了。

~大家有什么看法?不知道有没有表述清楚~还望海涵!

 

转载于:https://www.cnblogs.com/somtomking/p/3665517.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《代码库》1.0 主要功能简介 《代码库》是专为程序员设计的一个源码管理工具。她可以使编程变得更为有趣,降低您的重复劳动;她虽然不能立即提高您的编程技能,但能够让您在开发软件的过程中节省时间与金钱。在现代软件开发过程中,个人英雄式的完成一个从最底层开发的软件是极为困难的,因为您得为您的程序准备一切,但您愿意重写您以前写过的所有子程序吗。而实际上在开发的同时,可以将一些好的代码片断、算法加以摘录,并保存在《代码库》中,可以随时查阅、编辑您所收集的知识,并将能利用的代码加入您的程序中,提高开发速度。 《代码库》是一个基于文本格式的工具,采用树型目录进行的知识分类管理,您可以在她的帮助下清晰、准确的管理您收集的优秀代码。《代码库》使用自身的库数据结构, 并支持库形式的导出、导入,也支持文本文件的导出、导入,支持Windows粘贴板复制(支持TXT、RTF格式)、粘贴,功能丰富的编辑:支持Undo操作、显示行号、调整tab字符数、增加/减少缩进、设置当次缩进的字符数、换行显示,支持语法高亮显示、编辑修改(目前版本支持九种语法标识:Plain Text, Object Pascal, ANSI C, Java, Visual Basic, eMail, IniFile, Html/JS/VBS , PL/SQL),支持功能强大的全库查找和搜索功能,提供打印及打印预览功能。《代码库》是专门为程序员进行设计的,因此我们知道什么是您最需要的,也会最好的东西带给您。 感谢David Brock的控件(TSyntaxMemo v3.00.36)以及Jordan Russell的控件(Toolbar2000 v3.0)。另感谢Wzy兄帮忙进行测试! 另外您可以随意复制、散发本软件,但是不得对本软件作任何修改。作者保留《代码库》的版权。本人将不定期的更新本软件,最新版的《代码库》请到www.csdn.net的共享软件栏目中寻找。 建议运行环境Windows98、Win2000、WinXP,内存64M以上。 如果您在使用中发现有什么bug或有什么建议,请及时通知我iRepository@citiz.net,本人将尽快回复。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值