以ABP为基础架构的一个中等规模的OA开发日志

本文档详细介绍了以ABP为基础重构中等规模OA系统的过程,包括ABP的基本设置,如程序包还原、数据库连接字符串修改、命名空间调整、启动项目设置和数据库初始化。此外,还探讨了在特定情况下如何处理数据库初始化问题。
摘要由CSDN通过智能技术生成

前言:

最近园子里ABP炒的火热。看了几篇对于ABP的介绍后,深感其设计精巧,实现优雅。个人感觉,ABP或ABP衍生品的架构设计,未来会成为中型Net项目的首选架构模式。如果您还不了解ABP是什么,有什么特色,请移步:《ABP集合帖》——http://www.cnblogs.com/kebinet/p/5341663.html


 项目背景介绍:

  作者自参加工作以来,一直在法律圈打转。09-12年间,作者曾带团队用WebForm+N层架构实现了一个律师事务所的OA系统。时过境迁,现在在维护此系统时,发现了当初很多设计不合理的地方。所以本项目延续原OA系统的设计思路,以ABP为基础架构,进行彻底重构。

  注意:本系列文章定位为开发笔记,不代表ABP的最佳实践。


 一、ABP是什么,ABP.Zero又是什么?从哪里下载ABP项目模板?

  ABP全称为:“ASP.NET Boilerplate Project (ASP.NET样板项目)”。顾名思义,ABP实质上是一个.Net开发的分层示例+各种开发辅助类库。ABP是一个以DDD设计模式为原则的Net项目分层示例+一大堆作者写的辅助类库。

  ABP.Zero则是ABP的作者配合ABP框架写的一套用户模块。其本质是对ASP.NET Identity的二次封装。

  ABP.Zero是一个独立模块。可用可不用。如果您的程序中,用户模块非常独特,建议您不要使用ABP.Zero模块,而是独立实现一套用户系统。在我们的示例项目中,用户模块也是非常独特的,作者会尽可能尝试用ABP.Zero去解决,如果实在无法适用,那么我们将做一套独立的用户模块去替代。

  •  ABP作者官网:http://www.aspnetboilerplate.com/

  • GitHub地址:  https://github.com/aspnetboilerplate/

 

(请默默感谢这两位主要维护人员。如此优秀的开源项目,值得32个赞)

 

 

 如图所示,登录官网首页后,即可以下载ABP项目模板。这里,我们选择了使用.net framework4.5.2+mvc5的多页面实现。ORM我们选择了EntityFramework,并且选择使用ABP.Zero模块。(此处也可不选,日后需要时再安装)。注意最底部的【EasyFast】,此处是你的解决方案名称。下载并解压后,我们得到了如下文件:

我们将解决方案名称换成了中文【易迅律师事务所OA系统】。(作者手里有多份OA实现,为了防止歧义,才换了中文名称,此处改不改不会对项目本身造成任何影响)

 

 

二、ABP使用前的基本设置

2.1、程序包的还原与更新(必须)

   我们下载回来的ABP不包含对应packages(例如Newtonsoft.Json、EntityFramework、Log4net等等)。所以在使用前,请先在解决方案上右键,然后选【还原NuGet包】,等全部包下载完成后,再在解决方案上右键,选择【管理解决方案的NuGet程序包】,看看是否有更新,如果有,请同步更新。

请注意:上图所示的包无法更新,会提示有冲突,请忽略,不用更新此包。

 

 

2.2、修改数据库连接字符串(非必须)

  解决完包的问题后,我们来修改下数据库连接字符串ABP默认的数据库连接字符串名字叫【Default】。嗯,不够高大上,另此字符串的部分参数也不够合适,我们同步修改。此步骤一共需要修改三个文件:

  1. EasyFast.Web =>Web.config。——修改数据库连接字符串。name改为【AppDbContext】,内容改为用户名+密码连接方式

  2. EasyFast.EntityFramework=>EasyFastDataModule.cs 。——修改为:Configuration.DefaultNameOrConnectionString = "AppDbContext";

  3. EasyFast.EntityFramework.EntityFramework=>EasyFastDbContext.cs。——修改为:public EasyFastDbContext() : base("AppDbContext")

web.config修改前:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值