之前公司项目参考 NopCommerce 开发了一套系统,但是不支持 UnitOfWork,最近想开发新的项目,所以就基于原有的基础上又添加 UnitOfWork 支持,由于目前正在逐步完善中,所以可能存在各种问题,这里发出来仅供大家参考。

1、项目结构

  • Uow.Core:系统核心类库,包括接口和基类的定义等;
  • Uow.Data:数据访问类库,包括 UnitOfWork、Repository 相关类和实体类型映射(OR maping)类;
  • Uow.Entities:数据实体类库,包括数据实体定义类;
  • Uow.Repositories:数据仓储类库,提供业务逻辑层访问数据的一些方法;
  • Uow.Services:业务逻辑类库,调用数据仓储访问数据;
  • Uow.Web:应用程序类库,Web 应用程序;
  • Uow.Web.Framework:基础框架类库,封装一些介于业务逻辑和应用程序之间的一些方法和类,如分页控件、依赖注入等。

2、项目规划

后期我会把项目打造成一个基于 Bootstrap 和 angularjs 的后台管理系统,会包括一些日志管理、计划任务、缓存管理、权限管理和 SSO 单点登录等功能,目前正在逐步完善开发中。

3、一些思考

由于个人能力有限,感觉这个项目里 Uow.Repositories 层可有可无,可以合并到 Uow.Services 层里实现,个人觉得每层应该有各自的职责,所以保留了 Uow.Repositories 层。

4、其他说明

这个项目后期会持续开发并且更新,我会尽可能的抽时间来写后面的文章,做更详细的解释,如果您有宝贵的意见和建议,也欢迎指出。

5、下载

GitHub:https://github.com/weisenzcharles/Uow-Framework

基于 EntityFramework、Autofac 的 UnitOfWork 框架(一)的更多相关文章

  1. 基于.NET平台常用的框架整理(转)

    自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的 学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中也积累了一些开源的组件,就目前想到的先整理于此,如果再想到, ...

  2. 【转】基于.NET平台常用的框架整理

    自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中也积累 了一些开源的组件,就目前想到的先整理于此,如果再想到, ...

  3. 基于.NET平台常用的框架整理

    自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中也积累了一些开源的组件,就目前想到的先整理于此,如果再想到,就 ...

  4. 基于.NET平台常用的框架整理【转】

    转:http://www.cnblogs.com/hgmyz/p/5313983.html 自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个平台产 ...

  5. 开发笔记:基于EntityFramework.Extended用EF实现指定字段的更新

    今天在将一个项目中使用存储过程的遗留代码迁移至新的架构时,遇到了一个问题——如何用EF实现数据库中指定字段的更新(根据UserId更新Users表中的FaceUrl与AvatarUrl字段)? 原先调 ...

  6. ( 转)基于.NET平台常用的框架整理

    自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中也积累了一些开源的组件,就目前想到的先整理于此,如果再想到,就 ...

  7. 基于.NET平台常用的框架整理 (转)

    http://www.cnblogs.com/hgmyz/p/5313983.html 自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个平台产生了 ...

  8. 基于.NET平台常用的框架和开源程序整理

    自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中 也积累了一些开源的组件,就目前想到的先整理于此,如果再想到, ...

  9. 基于.NET CORE微服务框架 -surging的介绍和简单示例 (开源)

    一.前言 至今为止编程开发已经11个年头,从 VB6.0,ASP时代到ASP.NET再到MVC, 从中见证了.NET技术发展,从无畏无知的懵懂少年,到现在的中年大叔,从中的酸甜苦辣也只有本人自知.随着 ...

随机推荐

  1. 浅析redis缓存 在spring中的配置 及其简单的使用

    一:如果你需要在你的本地项目中配置redis.那么你首先得需要在你的本地安装redis 参考链接[http://www.runoob.com/redis/redis-install.html] 下载r ...

  2. EF Code First关系规则及配置

    1.一对多关系 关系表: Category 分类表 Product 产品表 分类与产品之间的一对多关系 1>.产品实体类不指定外键属性 Domain中类定义: Category.cs 1 usi ...

  3. [Android] Android Build 时报错: java.io.IOException: Could not parse XML from android/accounts/annotations.xml

    Android构建时报错: app:lintVitalRelease[Fatal Error] :3:214: 与元素类型 “item” 相关联的 “name” 属性值不能包含 ‘<’ 字符. ...

  4. .net 笔试题目

    2.1.using关键字有什么用?什么是IDisposable? using可以声明namespace的引入,还可以实现非托管资源的释放,实现了IDisposiable的类在using中创建,usin ...

  5. QT背景颜色,菜单颜色更改

    1.进入QT上置菜单栏 工具->选项 2.进入选项中 环境->interface (1)颜色:点击重置是默认颜色,想修改其他颜色,点击重置旁边的颜色自行选择. (2)Theme:这个里面提 ...

  6. 428 Setup MySQL + - 改

    初步认识MySQL 安装 练习增减改 1.什么是数据库软件: 数据库,俗称数据的仓库.方便管理数据的软件(或程序) 市面上数据库软件: Oracle:甲骨文公司产品.当前最流行应用最广泛数据库软件.和 ...

  7. mac 删除文件夹里所有的.svn文件

    先用命令行,进入你要删除的文件夹中(./ 为这个文件夹的当前路径,也可以填写绝对路径) 命令行下输入: sudo find ./ -name ".svn" -exec rm -r ...

  8. Python简单基础小程序

    1 九九乘法表 for i in range(9):#从0循环到8 i += 1#等价于 i = i+1 for j in range(i):#从0循环到i j += 1 print(j,'*',i, ...

  9. LibreOJ一本通题解报告

    网页跳转 解析啥的以后会有的 目录 ·T1活动安排 ·T2种树 ·T3喷水装置 T1活动安排 /* problem:yibentong10000 date:2019/4/21 author:Lonel ...

  10. 关于 X509Certificate2 程序发布IIS后找不到文件路径的问题

    有很多支付类.物联网等平台调用接口时需要用到证书: 通过X509Certificate2 类加载证书在程序发布之后发现无法找到证书路径,但是通过文件查找方法又可以检测到该文件. X509Certifi ...