首先项目是mvc5+webapi2.0+orm数据处理(dapper)+ef动态创建数据库。

1.项目框架层次结构:

mvc项目根据不同的业务和功能进行不同的区域划分【今后项目维护起来方便】,model数据结构和mvc传递model进行区分【保证数据结构不外漏】,webapi包括接口定义和 接口的实现,业务逻辑的处理。其中数据处理单独放在webapi之外的类库里面。

mvc+webapi+dapper+ef codefirst项目搭建_ef

mvc+webapi+dapper+ef codefirst项目搭建_ef_02

 

2.命名规范

mvc+webapi+dapper+ef codefirst项目搭建_ef_03

以上大致是文件夹与类库的命名。其中业务和功能以三个字母进行命名。

mvc+webapi+dapper+ef codefirst项目搭建_ef_04

 

以上为区域命名

 

3.开发规则与技巧

《一》命名空间的处理

 所有相同业务的功能模块保持一致,好处在类库互相引用的时候不用写using

mvc+webapi+dapper+ef codefirst项目搭建_其他_05

《二》数据处理

1.orm(内部封装的方法与dapper原始方法相结合)+sql语句相结合。

2.3个(包括3个)以下传递参数,但是进行对象操作

3.修改状态用state=1-state,【不用传状态参数,只需传id即可】。

4.业务,功能分离尽量避免多表操作。【处理方便,业务清晰,实现容易】

5.数据处理出business进行数据结构处理,apiservice进行数据结构model和viewmodel(暂时叫这个名字吧)。【避免数据结构让客户获得。】

6.所有webapi接口均为post接口

《三》部分代码分析

(一)wx.web.fee.apis

mvc+webapi+dapper+ef codefirst项目搭建_ef_06

 (二)wx.web.fee.apicontroller

            mvc+webapi+dapper+ef codefirst项目搭建_其他_07                            

 

(三)wx.web.fee.apiservice

mvc+webapi+dapper+ef codefirst项目搭建_其他_08

(四)wx.web.fee.business

 

mvc+webapi+dapper+ef codefirst项目搭建_ef_09

(五)wx.web.fee.mvc

mvc+webapi+dapper+ef codefirst项目搭建_其他_10

(六)bin

mvc+webapi+dapper+ef codefirst项目搭建_其他_11

(七)mvc引用apibin文件

mvc+webapi+dapper+ef codefirst项目搭建_ef_12

(八)

 

mvc+webapi+dapper+ef codefirst项目搭建_其他_13