一、第一篇內容中必須得簡單的介紹一下MVC(在大學時用的是WebForm,拖控件感覺很爽,但是工作后,技術總監讓一定要放棄這種 想法!)
1、MVC是什么?:(1) ASP.NET MVC是微軟官方提供的MVC模式編寫ASP.NET Web應用程序的一個框架
(2) MVC是微軟繼ASP.NET WebForms后的有一種開發方式,並非替代方式!
2、與WebForm的比較之后的好處:
(1) 關注點分離
(2)高可擴展性
(3)更好的可測試性
(4)更好的URL重寫
(5)更好的性能
(6)更加靈活的HTML代碼控制
(7)沒有ViewState(這個在WebForm中很可怕,右鍵查看源代碼之后,暈了....)
3、其實好處不止這些,概念性的東西沒必要過多的解釋,園子里好多文章.....
二、上篇的文章也提到,與數據庫的交互用的是Nhibernate,大家一定不陌生吧,一種ORM的思想,還有你們熟悉的EF、FluntNibernate,寫完這篇會寫個小的Demo,里面就包括NHibernate、EF中的CodeFirst(先寫Model類,接着Db<Set>,前台數據綁定之后,打開數據庫,就會發現生成一個帶類似這樣:項目名.Contenxt的數據庫)僅供初學者學習。
1、在項目中添加了一個NHibernateHelper類,其中方法包括像GetSession()這個方法返回的是ISession。
項目中得安裝Nugget包,Install-package Nhibernate 添加這個引用


2、添加完之后:
(1)往項目中添加MSSql.cfg.xml(“目錄在\packages\NHibernate.3.3.1.4000\ConfigurationTemplates”)
但要改名為hibernate.cfg.xml 右鍵屬性:無,如果較新則復制。
(2)添加XML,舉一個實體的例子來說,如:Product.Hbm.xml,右鍵屬性:不復制,嵌入的資源。
(3)如果想要智能提示的話,在Product.Hbm.xml代碼中右鍵屬性:架構添加:nhibernate-configuration.xsd和nhibernate-mapping.xsd
(4)上面說的這些配置都是NHbiernate基礎性的東西,建議看看“李永京”的博客。http://www.cnblogs.com/lyj/
(5)現在可以建立一個NHibernateHelper類,建議在(TianxinWeb.Webs.Common)項目的目錄在下面。但是記住:得在hibernate.cfg.xml中添加<mapping assembly="項目名稱"/>
//返回ISession
public static ISession GetCurrentSession()
{
//第一種方式:(不靈活,只能對於一個實體類控制)
//var cfg = new Configuration().Configure().AddAssembly(typeof(Product).Assembly);
//推薦使用第二種方式:
//注意:在hibernate.cfg.xml中添加<mapping assembly="MvcApplication1"/>
var cfg = new Configuration().Configure();
var sessionFactory = cfg.BuildSessionFactory();
return sessionFactory.OpenSession();
}
(6)現在增刪改查就都可以實現了。自己一定要試試,可以結合事務進行操作,還是建議看看“李永京”的博客。
3、添加四個個類庫和一個MVC項目,分別是:TianxinWeb.Webs.BLLs、TianxinWeb.Webs.Common、TianxinWeb.Webs.Models、 TianxinWeb.Webs.Repositories和TianxinWeb.Webs.Webs。這四個類庫的作用,前一篇文章已經說過,看命名也知道個大概。
4、在TianxinWeb.Webs.Webs里添加jquery-easyui-1.3.2、還有常用的Ckediter編輯器,ZTree(后面講到的”用戶權限分配“用的就是它)在官網上下載就行,添加到項目中。


三、總結:
1、重點:一定要自己測試一下Nhibernate的功能,是否能增刪改查影響到數據庫,先把這個問題解決了,上面介紹的也挺清楚,如果實在調試不行,請 留言,幫你看看。
2、大體框架建起來了,媳婦打電話讓回家吃飯了,也真有點餓了。呵呵。先寫到這里吧,請朋友們繼續關注下一篇文章。
