- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
说说IUnitOfWork~我的IUnitOfWorkRepository架构说说IUnitOfWork~我的IUnitOfWorkRepository架构
说说IUnitOfWork~我的IUnitOfWork+Repository架构这个系统的文章在写完这篇后将拉下眉目,一共5讲的IUnitOfWork带给我们的是性能,原子化操作,等多方法的改进,下面我把我的IUnitOfWork+Repository模式大体的说一下,并代上核心代码:底层接口UnitOfWork.Data.Core这是一个接口规范的项目层,它由CURD操作规范和UnitOfWork规范组成namespaceUnitOfWork.Data.Core{///summary/// 工作单元/// 提供一个保存方法,它可以对调用层公开,为了减少连库次数////summarypublicinterfaceIUnitOfWork {///summary/// 将操作提交到数据库,////summaryvoid Save();///summary/// 是否不提交到数据库,这只是在具体的repository类中的SaveChanges方法里用到的/// 默认为false,即默认为提交到数据库////summary///returns/returnsboolIsNotSubmit { get; set; } }///summary/// 工作单元/// 对泛型类型的支持////summary///typeparam name=T/typeparampublicinterfaceIUnitOfWorkT : IUnitOfWorkwhere T : class { }}?namespaceUnitOfWork.Data.Core{publicinterfaceIRepositoryTEntitywhereTEntity : class {///summary/// 添加实体并提交到数据服务器////summary///param name=itemItem to add to repository/paramvoid Insert(TEntity item);///summary/// 移除实体并提交到数据服务器/// 如果表存在约束,需要先删除子表信息////summary///param name=itemItem to delete/paramvoid Delete(TEntity item);///summary/// 修改实体并提交到数据服务器////summary///param name=item/paramvoid Update(TEntity item);///summary/// Get all elements of type {T} in repository////summary///returnsList of selected elements/returnsIQueryableTEntity GetModel();///summary/// 根据主键得到实体////summary///param name=id/param///returns/returnsTEntityFind(paramsobject[] id); }}namespaceUnitOfWork.Data.Core{///summary/// 扩展的Repository操作规范////summarypublicinterfaceIExtensionRepositoryTEntity whereTEntity : class {///summary/// 添加集合////summary///param name=item/paramvoid Insert(IEnumerableTEntity item);///summary/// 修改集合////summary///param name=item/paramvoid Update(IEnumerableTEntity item);///summary/// 删除集合////summary///param name=item/paramvoid Delete(IEnumerableTEntity item);///summary/// 扩展更新方法,只对EF支持////summary///param name=entity/paramvoid Update(System.Linq.Expressions.ExpressionActionTEntity entity); }}namespaceUnitOfWork.Data.Core{///summary/// 完整的数据操作接口////summarypublicinterfaceICompleteRepositoryT :IRepositoryT,IExtensionRepositoryTwher
您可能关注的文档
最近下载
- 基坑支护内支撑梁拆除施工方案.docx VIP
- 最新人教版一年级上册《数学游戏》课件(整套)教学PPT(2024年秋-新教材).pptx VIP
- 最新人教版一年级数学上册《数学游戏》教学课件(整套)PPT(2024秋-新教材).pptx VIP
- GBT6058-2005 纤维缠绕压力容器制备和内压试验方法.pdf
- GB╱T 23711.1-2009 氟塑料衬里压力容器电火花试验方法.pdf
- 7m焦炉推焦车的结构特征.pdf
- 研发领料单模板.docx VIP
- 辽宁省技工学校审批表.doc VIP
- GB 26501--2011 氟塑料衬里压力容器 通用技术条件.pdf
- 施工放样报验单.doc VIP
文档评论(0)