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

运维 数据库运维
本文系列将向你介绍使用EntityFramework(EF)生成数据库模型。文章会一步一步的教您使用Entity Framewok4创建数据库。

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

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

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

  1. public int EmployeeId { get; set; } 
  2. public string FirstName { get; set; } 
  3. public string LastName { get; set; } 
  4. 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 模式,根据实体类生成对应数据库表。

  1. public class SalesERPDAL : DbContext 
  2.     { 
  3.         public SalesERPDAL() : base("MyDBConnectString")//数据库连接字符串 
  4.         { 
  5.             this.Configuration.ProxyCreationEnabled = true
  6.             var aaa = new DbMigrationsConfiguration();//设置自动迁移属性 
  7.             aaa.AutomaticMigrationsEnabled = true
  8.         } 
  9.         protected override void OnModelCreating(DbModelBuilder modelBuilder) 
  10.         { 
  11.             modelBuilder.Entity<Employee>().ToTable("TblEmployee");//设置生成对应数据库表的名称 
  12.             base.OnModelCreating(modelBuilder); 
  13.         } 
  14.   
  15.         public DbSet<Employee> Employees { get; set; } 
  16.     } 

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

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

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

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

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

Name:update(随意输入)

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

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

责任编辑:武晓燕 来源: 博客园
相关推荐

2023-02-23 07:46:48

学习模型数据仓库

2010-05-07 14:29:45

Unix--Tripw

2021-05-10 09:22:44

.NET数据库项目

2020-08-06 11:45:37

数据库文档Swagger

2009-12-30 14:12:53

ADO.NET Fra

2011-03-23 09:54:47

数据模型数据库设计

2009-12-31 09:18:23

ADO.NET对象模型

2020-12-24 10:20:43

文档工具语言

2009-05-14 14:23:25

微软ado.netLINQ

2011-03-04 09:40:42

AJAX开发集成数据库

2010-06-17 12:59:07

Oracle

2024-03-20 08:37:34

数据处理Python数据分析

2022-07-12 10:48:27

Python数据日报命令

2023-11-06 06:39:36

数据分析Python

2009-09-07 22:54:03

Linq组合查询

2016-08-16 09:06:07

Entity FramT4模板sql语句

2020-01-15 16:00:16

Linuxseq命令数字序列

2012-09-10 10:23:38

Entity Fram

2012-06-25 10:40:24

Oracleawr

2010-04-17 13:44:46

点赞
收藏

51CTO技术栈公众号