zoukankan      html  css  js  c++  java
  • MVC和EF中的 Model First 和 Code First

    准备:先引入MVC和EF的dll包

    *命令方法:打开工具——库程序包管理器——程序包管理器控制台,选择自己的项目

    a)     Install-Package EntityFramework -Version 6.1.1

    b)     Install-Package Microsoft.AspNet.Mvc -Version 5.2.2

     

    一、Code First

     

    模式是以代码先行,将Model层写好后反射数据库的方法,这里的数据库需要自己新建,并与model层的字段名完全对应。

    实现的方法如下:

    1.先新建一个实体类,取名Test(与数据库表名一致),添加字段

    1   public class Test
    2     {
    3         public int Id { get; set; }
    4         public string Name { get; set; }
    5     }

    2.建立一个Context类,取名TestContext,调用DbSet来反射数据库的内容

    1 public DbSet<Test> Test { get; set; } 

    3.在controller层实现对model层数据的调用

    1    private TestContext db = new TestContext();
    2    public ActionResult Index()
    3    {
    4         var data = db.Test.ToList();
    5         return View(data);
    6    }    

    4.在View层中调用@Model.Id和@Model.Name。

    5.在配置文件里添加数据库连接

    1 <connectionStrings>
    2     <add name="TestContext" connectionString="Data Source=.SQLEXPRESS; user id=sa;password=sa;Initial Catalog=test1;Integrated Security=True" providerName="System.Data.SqlClient" />
    3 </connectionStrings>

    6.在数据库中建立一个Test表,加入Id和Name字段,即可运行测试。

    二、Model First

    模式是以数据库为基准来编写代码,这里需要先新建一个实体数据模型,根据这个模型将会自动生成数据库文件

    1.新建数据模型,命名为model1,选择空模型

    2.在自己建好的Model1.edmx文件页面中右键,新增,实体,填写实体信息。实体名称对应表名,创建键属性对应表的主键。

    创建好后右键点击标量属性在实体模型中添加字段。

    3.在自己的表上点击“根据模型生成数据库”

    打开数据库即可看到自己刚刚所建的字段信息。调用数据库的方法百度。

    利弊:

    ModelFirst比较方便,但每次生成时会重新创建数据库,所以如果之前数据库中有数据的话会被清空。

    DEMO源码下载   

  • 相关阅读:
    洛谷 U141580 简化罗波切问题
    洛谷 U141578 维修电路
    洛谷 U140760 狭义公因子
    CF75C Modified GCD
    算法题-求解斐波那切数列的第N个数是几?
    算法题-求N的阶乘
    JAVA8新特性
    nginx启动脚本,手动编辑
    javah生成带有包名的头文件
    Matlab图像处理(03)-基本概念
  • 原文地址:https://www.cnblogs.com/felix-wang/p/6727005.html
Copyright © 2011-2022 走看看