MVC使用EntityFramework(EF)生成数据库模型

首先打开VS2013,新建Web项目mcc,使用MVC模板。

右击引用,管理NuGet程序包,安装EntityFramework。

在Model文件下新建类Employee,新增几个属性,比如:EmployeeId,FirstName,LastName,Salary。

 

public int EmployeeId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public int Salary { get; set; }

引用using System.ComponentModel.DataAnnotations; 将EmployeeId 设置为主键。

在Web.Config里面设置数据库连接字符串

<add name="MyDBConnectString" providerName="System.Data.SqlClient" connectionString="Data Source=.;Initial Catalog=SalesERPDAL;user id=sa;password=sa"/>

在根目录下新建文件夹DataAccessLayer,新建类SalesERPDAL,继承DbContext。

在 CodeFirst 模式,根据实体类生成对应数据库表。

public class SalesERPDAL : DbContext
    {
        public SalesERPDAL() : base("MyDBConnectString")//数据库连接字符串
        {
            this.Configuration.ProxyCreationEnabled = true;
            var aaa = new DbMigrationsConfiguration();//设置自动迁移属性
            aaa.AutomaticMigrationsEnabled = true; 
        }
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Entity<Employee>().ToTable("TblEmployee");//设置生成对应数据库表的名称
            base.OnModelCreating(modelBuilder);
        }

        public DbSet<Employee> Employees { get; set; }
    }

  

此时,基本设置完成,开始使用命令创建数据库,生成表。

打开工具-NuGet程序包管理器-程序包管理器控制台

输入命令:Enable-Migrations ,允许迁移。

输入命令:Enable-Migrations -ContextTypeName aaa.DataAccessLayer.SalesERPDAL,指定迁移类型。

输入命令:Add-Migration ,将挂起的模型更改写入基于代码的迁移。

Name:update(随意输入)

输入命令: Update-Database -Verbose,执行生成命令,创建数据库,更新表。

如上图,已经可以在数据库中查看到对应的表,可以插入数据,进行获取验证了。

 

posted on 2016-08-17 16:10  mcc521  阅读(5316)  评论(2编辑  收藏  举报

导航