这两天坐地铁上在想着是否可以做一个很轻量级的.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上,支持下微软,呵呵。