网站大量收购独家精品文档,联系QQ:2885784924

DBMigration功能介绍.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ASP.NET MVC 4新功能DB Migration 在笔者介绍这么 MVC 4 新功能之中,还有一个新功能 DB Migration ,先前在 TW MVC 的投影片中笔者有稍微的介绍过,其实这个功能也不是只有在 MVC 内才可以使用,比如说当中所使用的 Code First,而所谓的 DB Migration 其实就是指在 Code First 中,原先在 Model 中如果增加字段 DB 可能需要重建,在新增的 DB Migration 便是要解决这个问题。 ? ? 在了解 DB Migration 如何解决这个问题前,我们先来看看新的 Code First 提供的功能。 在 MVC 4 里使用 Code-First ,建议使用 BASIC 项目,这么一来就不需要在加入jQuery jQuery UI jQuery Validation 等套件。如下图: ? ? 注:在 Visual Studio 2012 Ultemate RTM 版中翻作 [基本],老实说笔者不太习惯XD ? 1. 在 Models 数据夹中加入 Products 类别 与 ProductContext 类别。 在 Product 类别先提供 [id] 与 [Name] 这两个字段,稍后再试着加入其它字段。 ? view source print? 1.public class Products 2.{ 3.public int id { get; set; } 4.public string Name { get; set; } 5.} 要注意的是 ProductContext 类别一定要继承 DbContext 类别,他如同 Entity Context 一样,包含对数据库处理的相关实作。待会会透过它来产生 CRUD 的 View Template 。而对 DbContext 而言,它的属性就是 Model 的部分,属性的部分必须使用 DbSet自己定义的类别 的类别来设定,方式如下: ? ? 因为目前我们只有一个 Products 类别,所以在 ProductContext 类别中只有一个 DbSet 属性,因此有增加 Model 就记得增加上去以便 Code-First 自动产生 Table。 ? 2.加入 [具有读取/写入动作和检视、使用 Entity Framework 的 MVC 控制器] ? 因为目前只有一个 Products 类别,所以这个控制器的模型类别我们就选择 Products 类别,如下: ? ? 数据内容类别当然就是ProductContext 类别了。 注:在进行作此动作之前须先编译。 ? 上述动作完成后,IDE 工具会自动产生ProductsController.cs 档案与Index/Create/Delete/Edit/Details 等CRUD 必备的相关的View 检视。 ProductsController.cs 的内容中也是的在MVC 3 就已经提供EDM 基本范本,程序代码如下: ? ? view source print? 001.using System; 002.using System.Collections.Generic; 003.using System.Data; 004.using System.Data.Entity; 005.using System.Linq; 006.using System.Web; 007.using System.Web.Mvc; 008.using Mvc4DatabaseMigrationApp1.Models; 009.? 010.namespace Mvc4DatabaseMigrationApp1.Controllers 011.{ 012.public class ProductsController : Controller 013.{ 014.private ProductContext db = new ProductContext(); 015.? 016.// 017.// GET: /Products/ 018.? 019.public ActionResult Index() 020.{ 021.return View(ducts.ToList()); 022.} 023.? 024.// 025.// GET: /Products/Details/5 026.? 027.public ActionResult Details(int id = 0) 028.{ 029.Products products = ducts.Find(id); 030.if (products == null) 031.{ 03

文档评论(0)

taotao0a + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档