那些对于PHP程序员来说ASP.NET的奇怪功能

(1)在MVC开发模式中,同一个Controller将会出现相同操作方法名,因为参数不同被C#认为是不重复的方法:

比如同样是Edit方法,一个是纯粹的向用户返回编辑页面,如果使用[HttpPost]操作选择器特性,则Edit方法下写一段保存编辑的方法。

在php中我会用edit方法返回编辑页面,用save方法保存编辑好的结果。

 

(2)基架:

一种微软为visual studio开发的代码生成器,可以通过一个已经定义的数据模型生成相关模型的crud操作和视图。

 

(3)代码先行:

学到这些编译型语言后,我才意识到原来数据的操作可以分为三类:数据库先行(php用的多),模型先行(javaee),代码先行(asp.net EF首创)。

前两种其实很好理解,在传统的php开发中把数据库比如mysql看成一个纯粹的工具,操作数据;

模型先行是利用了JDBC,ODBC等数据库映射层(数据库访问的标准API),把数据对象化,用面向对象的语言进行模型操作后通过抽象层返回到数据库;

最后一种代码先行是建立在模型先行之上,使用微软的Entity Framework将数据映射到数据库,唯一多了一个功能就是可以不存在数据表的情况下预先操作数据,这是EF提供的一个强大的,智能的功能,EF通过检查数据库确认是否需要新增数据表以及如何命名数据字段的能力在开发者无视数据库的情况下,自动操作数据,开发者可以更多的关心代码和业务,摆脱对数据库的开发,但是这种开发方式大部分只适合于一个新建的项目以及为了追求快速实现一些简单的网站项目

 

(3)播种数据库(数据初始化)

这让我觉得很新奇,非常类似于使用实现写好的一段脚本初始化一个数据库?!

 

(4)BundleConfig

这是一个极其令人兴奋的功能,代码压缩和管理器,我将把他利用在公司项目的css和js管理上,发布后修改web.config debug=false即可

posted @ 2017-01-21 12:42  devilyouwei  阅读(121)  评论(0编辑  收藏  举报