zoukankan      html  css  js  c++  java
  • ASP.NET MVC5利用EF,反向自动生成数据库

    1.在Model类里面,写好相应的属性。

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Web;
     5 using System.Data.Entity;
     6 
     7 namespace MvcMovie.Models
     8 {
     9     public class Movie
    10     {
    11         public int ID { get; set; }
    12         public string Title { get; set; }
    13         public DateTime ReleaseDate { get; set; }
    14         public string Genre { get; set; }
    15         public decimal Price { get; set; }
    16     }
    17 
    18     public class MovieDBContext : DbContext
    19     {
    20         public DbSet<Movie> Movies { get; set; }
    21     }
    22 }
    Movie

    2.在配置文件中,写上:

    1  <add name="MovieDBContext"
    2    connectionString="Data Source=(LocalDB)v11.0;AttachDbFilename=|DataDirectory|Movies.mdf;Integrated Security=True"
    3    providerName="System.Data.SqlClient"/>
    配置文件,连接字符串

    3.添加一个控制器,选择刚才我们创建的Model作为模型(即创建强类型视图)

    4.这个时候,重新生成一下项目,就会在App_Data里面生成了一个数据库(Movie.mdf).

    Entity Framework Code First detected that the database connection string that was provided pointed to a Moviesdatabase that didn’t exist yet, so Code First created the database automatically. 这句话的意思是:EF 代码先行检测到,数据库的连接字符串,指向了一个Movie的数据库,但是这个数据库并不存在,所以code first自动为我们创建了这个数据库。

    5.You don't actually need to add the MovieDBContext connection string. If you don't specify a connection string, Entity Framework will create a LocalDB database in the users directory with the fully qualified name of the DbContextclass (in this case MvcMovie.Models.MovieDBContext). You can name the database anything you like, as long as it has the .MDF  suffix. For example, we could name the database MyFilms.mdf.

    这句话的大概意思是:你实际上不必添加我上面的字符串到webconifg文件中,因为EF会为我们按照用户项目的物理路径,创建一个全路径的名称的数据库。如果你添加了连接字符串,EF就会按照你写的,为你创建这个数据库。

    6.EF为我们创建的数据库为:

     可以看出,EF为我们创建的数据库,string字段,默认是为空的。ID字段默认是主键。

  • 相关阅读:
    python抢票开发——设备预约助手实现
    树莓派的基本网络配置
    python 端口扫描程序
    数据通讯与网络 第五版第24章 传输层协议-TCP协议部分要点
    数据通讯与网络 第五版第24章 传输层协议-UDP协议部分要点
    利用python开发的flappy bird 游戏
    EMACS 快捷键笔记
    python程序中用类变量代替global 定义全局变量
    在树莓派下对多个串口转USB设备进行设备名称绑定操作
    python 编写的经纬度坐标转换类
  • 原文地址:https://www.cnblogs.com/caofangsheng/p/4590240.html
Copyright © 2011-2022 走看看