波斯马BOSSMA Information Technology

ASP.NET MVC实战体验之项目管理系统(3)

发布时间:2010年3月2日 / 分类:ASP.NET, ASP.NET MVC / 8,677 次浏览 / 评论

上一节中已经可以看到实际运行效果,但是对MVC中相关的几个部分没有做详细的说明。接下来的几篇文章会对Model、Controller和View做详细的介绍。

MVC框架模式将一个应用分成三个组成部分:模型、视图、控制器。它是ASP.NET Web Forms模式之外的另一个选择,是一个轻量级的,并且高度可测试的框架。

1、关于Model

Model实现了应用程序的数据逻辑部分,用来获取和存储数据实体到数据库中。比如:从数据库的Product表中检索一个产品对象信息,操作它,然后在Product表中更新它。

2、使用?Entity Framework创建Model

?Microsoft Entity Framework 是一个ORM工具,可以帮助我们自动产生一个数据访问层,可以避免大量手工操作。

(1)在Models文件加上点右键,添加-新建项,选择ADO.NET Entity Data Model

(2)点击【添加】按钮,打开【实体数据模型向导】,选择【从数据库生成】,进入下一步,点击【新建连接】,填写数据库的相关信息,然后点击【确定】。

(3)数据连接自动填到左侧的下拉列表中,

(4)点击【下一步】,选择要生成的表,然后点击【完成】。

(5)然后在实体模型浏览器中就可以看到它了。

(6)然后就可以在Controller中使用了,如:

[HandleError]
    public class HomeController : Controller
    {
        ITProjectEntities _db;

        public HomeController()
        {
            _db = new ITProjectEntities();
        }

        public ActionResult Index()
        {
            ViewData.Model = _db.PJ_Project.ToList();
            return View();
        }
    }

更多详细的使用说明看这里:http://www.asp.net/learn/mvc/tutorial-16-cs.aspx

3、使用Linq To SQL创建Model

(1)在Models文件加上点右键,添加-新建项,选择 LINQ to SQL 类

(2)点击【添加】,打开的类设计器。在右侧【服务器资源管理器】中,添加一个数据连接,然后找到相关表,拖到左边的设计器中。

(3)然后在Controller中使用

  [HandleError]
     public class HomeController : Controller
     {
          public ActionResult Index()
          {
               var dataContext = new  DataClasses1DataContext();
               var project = from m in dataContext.PJ_Project select m;;
               return View(project);
          }
     }

更多使用方法看这里:http://www.asp.net/learn/mvc/tutorial-10-cs.aspx

4、自己生成Model

Visual Studio提供了ADO.NET Entity Data ModelLINQ to SQL帮助我们更快的生成Model,这基本上可以满足我们的需要了。但是有时候这种方法并不适应实际的需求,比如使用了工厂模式,这时候完全可以自定义数据实体和数据操作类,只要在生成View时,指定相应数据实体;在Controller中调用相应的数据操作类就可以了。

例如:我以前经常使用动软.net代码生成器,它可以快速的生成类似PetShop结构的程序代码,只需要将它生成的Model文件拷贝到我的Models文件夹下,然后将BLL、IDAL、DAL层的代码拷贝到项目中,在Controller中调用相应的数据操作方法就行了,和原来的数据操作没有什么区别。

还有NHibernate也可以用来生成Models,根据个人的习惯和开发要求,选用自己的方法就行了。

本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自波斯马,原文地址《ASP.NET MVC实战体验之项目管理系统(3)

关键字:

建议订阅本站,及时阅读最新文章!
【上一篇】 【下一篇】

发表评论