• 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字段默认是主键。

  • 相关阅读:
    vim选中字符复制/剪切/粘贴
    pyhton输出表格数据出现省略号?(教你很快解决)
    怎么截取长图/滚动截图?(一文教你迅速截长图)?
    pyhton pandas数据分析基础入门(一文看懂pandas)
    pyhton中pandas数据分析模块快速入门(非常容易懂)
    pyhton读入Excel和csv数据文件
    Python中pandas透视表pivot_table功能详解(非常简单易懂)
    pyhton scipy最小二乘法(scipy.linalg.lstsq模块)
    python scipy优化器模块(optimize)
    python scipy样条插值函数大全(interpolate里interpld函数)
  • 原文地址:https://www.cnblogs.com/caofangsheng/p/4590240.html
Copyright © 2020-2023  润新知