这两天坐地铁上在想着是否可以做一个很轻量级的.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上,支持下微软,呵呵。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库