- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
最近下载
- 2024版肿瘤患者静脉血栓防治指南解读PPT课件.pptx VIP
- 《数字化供应链运营》课件——任务3、数字化供应链结构分析.pptx VIP
- 2018年高考浙江物理试题及详解.pdf
- 八年级劳动测试卷附答案.doc
- DL_T 5369-2021 电力建设工程工程量清单计算规范 火力发电工程--可检索可复制.pdf VIP
- 第18课《井冈翠竹》课件.pptx VIP
- 《数字化供应链运营》课件——任务1、设置供应链体系框架.pptx VIP
- 2025春小学数学北师大版(2024)一年级下册《算一算》教学设计.docx
- 2024版老旧小区改造给排水供暖设施更新施工合同.docx VIP
- 《数字化供应链运营》课件——任务1:规划物流运输网络.pptx VIP
文档评论(0)