這兩天坐地鐵上在想著是否可以做一個很輕量級的.net部落格發布系統。。。所有東西都用輕量級的,我想要系統是基於Asp.net Mvc架構的,所以選定了如下幾個大的組件來完成這個設想。
1. 整個應用程式架構:asp.net mvc 3 (Razor)
2.資料存放區 : MongoDB,是個面向文檔的資料庫,它是多系統支援,輕量級,高效能的。
3.ORM : 現在的應用開發如果你不用ORM,那就好像有點老土了,但是ORM永遠都無法和ado.net媲美,無亂是EF,NHibernate還是linq等等。。。。而我這裡還是想使用一個ORM工具,於是選擇了Simple.Data這個非常輕量級的ORM工具,它使用了C# 中的Dynamic特性。
4.IoC工具,絕對是autofac這個最輕量級了。。。
對於asp.net mvc你可以到這裡看到很多學習資料:http://www.cnblogs.com/n-pei/tag/Asp.net%20MVC/
包括asp.net mvc 3的系列文章。。。。
環境的要求:
1.首先你需要的是.net framework 4的安裝。你機器不需要安裝asp.net mvc,只需要把對應的幾個dll添加到bin目錄下就行。
2.MongoDB的安裝 如果你以前接觸過MongoDB,請跳過這一段,直接看第三步。
http://www.mongodb.org/ 它的資料是以json格式儲存的。
下載到對應的壓縮包,然後解壓到某個盤下。
預設的mongo是不會自己建立檔案夾,而它卻需要找到指定的檔案夾Data\db,所以我們需要在bin目錄所在的根資料夾下建立如下檔案夾:
接下來就是運行db server了。
現在資料庫伺服器就開始運行了,因為它是在dos下啟動並執行,所以不能關閉這個視窗,以後說明下如何把它制定為windows service,這樣就需要開著視窗了。
3.ORM: Simple.Data這個是使用C# Dynamic屬性的輕量級ORM工具,它不是很好用,但是速度是挺快的,而且不需要設定檔,支援各種資料庫。。。
你可以到這裡下載:http://github.com/markrendle/Simple.Data
4. IoC工具,這個Autofac我之前有好多文章都介紹了。你可以到這裡下載和查看:http://code.google.com/p/autofac/
我部落格中相關的文章: http://www.cnblogs.com/n-pei/tag/Autofac/
可能你已經不耐煩了,,我囉嗦這麼多,,好吧,接下來開始使用MogonDB,這篇文章主要介紹如何在asp.net mvc中使用它。。。。其它模組在以後的文章中介紹。
首先是建立實體,這裡只建立好Post和comment兩個實體。
接下來是建立Repository模組:
Post的Repository介面:
對應的Save方法:
這裡的操作都是比較繁瑣的,以後會結合autofac最佳化這一部分。
GetAll方法和通過Id得到某個post實體的方法如下:
還有一部分是update某個post.這部分代碼就不貼了。
接下來是Controller部分的代碼:
Create post部分的代碼:
添加對應的View以後,運行:
點擊Craete按鈕後:
儲存成功,然後會自動跳轉到List頁面:
稍候等整個項目寫的差不多了,我會把代碼放到codeplex上,支援下微軟,呵呵。