MVC Scaffolding SmartCode-Engine 更新

  概述
  
  通过扩展visual studio.net scaffolding组件,添加了一套功能完善的代码模板,包括Controller,Model,View,Businessd等各种功能的代码,配合Entity Framework Code-Frist功能实现快速构建业务系统的一套开发工具.
  
  主要优势
  
  市面上类似的代码生成工具有很多,但完全集成在visual studio.net以插件形式存在的几乎没有,大部分都是通过先定义表结构(数据字典)再运行工具生成对应的代码.然后再手工拷贝到对应的项目中,而改项目就是简单的多,只需要把实体对象定义出清楚,直接再项目中运行新增controller后选择需要的实体对象就可以.非常快捷.
  
  不足之处
  
  目前scaffolding组件只能在一个solution中的单个project中添加源代码文件,还没有办法降不同层的代码新建到对应的project中去,比如根据实体对应分别新建不同的project,对大型项目的分工会更好.
  
  主要功能
  
  与Visual Studio.Net 2017无缝集成
  
  快速生成标准的C.R.U.D代码
  
  符合经典的Asp.Net MVC5 N层架构
  
  运行环境.Net framework 4.7.1+
  
  支持Sql Server,MySql,Oracle等主流数据库
  
  前端Javascript采用ES6规范
  
  Github download Demo
  
  细节提升
  
  项目开始与2014年
  
  Controller升级异步执行采用(async/await)
  
  使用Microsoft Unity DI & IoC
  
  前端采用Smart Admin模板
  
  前端控件一律采用Easyui组件
  
  前端Js Callback改成箭头函数(Arrow Function)加入(async/await)方法
  
  新增对数据编辑模式的设定一种是弹出窗口操作,一种是直接在datagrid内部开启编辑状态
  
  更友好更详细的操作信息的提示
  
  为什么使用EasyUI而不使用Smart Admin模板自带的标准Input.主要标准的Input虽然样式更漂亮,但功能比较单一,很多操作不是很方便,EasyUI社区比较活跃文档比较全面入手比较简单.但不足之处就是与responsive htmj兼容性不好,这里主要是我对easyui css不熟导致
  
  代码模板
  
  模板    功能
  
  Controller.cs.t4    控制层代码与View层所有操作包括增删改查的全部功能
  
  EntityQuery.cs.t4    查询逻辑的封装类参考URF.NET中的功能
  
  EntityRepositoryExtension.cs.t4    对实体对象的增删改查的封装参考URF.NET中的功能
  
  IEntityService.cs.t4    业务逻辑层代码参考URF.NET中的功能
  
  EntityService.cs.t4    业务逻辑层具体实现的代码参考URF.NET中的功能
  
  Index.cs.t4    主View代码包括datagrid现实,增删改查的功能实现
  
  <context:component-scan base-package="com.anqi">
  
  <context:exclude-www.gouyiflb.cn  filter type=www.xiaomiyulezc.com  "annotation" expression="org.springframework.stereotype.Controller"/>
  
  </context:component-scan>
  
  <!--1、 创建目标类 -->
  
  <bean id="arithmeticCalculator" class="com.anqi.testAop.ArithmeticCalculatorImpl"></bean>
  
  <!--2、创建切面类(通知)  -->
  
  <bean id="logAspect" class="com.anqi.testAop.MyLogger"></bean>
  
  <aop:config>
  
  <aop:aspect ref="logAspect">
  
  <!-- 切入点表达式 也可以在通知内部分别设置切入点表达式 -->
  
  <aop:pointcut expression="execution(www.michenggw.com* com.anqi.testAop.*.*(..))" id="myPointCut"/>
  
  <!-- 配置前置通知,注意 method 的值要和 对应切面的类方法名称相同 -->
  
  <aop:before method="before" pointcut-ref="myPointCut" />
  
  <aop:after method="after" pointcut-ref="myPointCut" />
  
  <aop:after-returning method="testAfterReturn" returning="result" pointcut-ref="myPointCut"/>
  
  <aop:after-throwing method=www.dasheng178.com"testException" throwing="e" pointcut="execution(* com.anqi.testAop.ArithmeticCalculator.div(..))"/>
  
  <!--<aop:around method="testRound"  pointcut-ref="myPointCut"  /> 最强大,但是一般不使用-->
  
  </aop:aspect>
  
  </aop:config>
  
  _PopupDetailFormView.cs.t4    弹出框操作表单
  
  ...    辅助功能代码
  
  ...

猜你喜欢

转载自blog.csdn.net/li123128/article/details/85692405
MVC