博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
代码优先-Code First
阅读量:5305 次
发布时间:2019-06-14

本文共 2276 字,大约阅读时间需要 7 分钟。

非常有用的两篇文章

 

 

EF有三种开发模式:Model First,Database First 和 Code First。 本文主要介绍Code First模式,Code First即代码优先,就是先编写业务实体模型类,然后通过程序包管理器控制台创建数据库。

一、安装EntityFramework

  在项目上右键菜单,点击“管理NuGet程序包”,搜索“EntityFramework”,在项目中安装最新版本的EntityFramework。

  

  

二、修改配置文件

EntityFramework安装完成后,会自动生成一个App.confing文件,内容如下:

View Code

如果不添加数据库连接字符串,数据库默认会声称在App_Data文件夹下,在一般项目中我们还需修改此配置文件,内容如下:

View Code

三、创建实体模型类和DbContext

贴出部分实例代码:

///     /// 用户信息表    ///     public class User : Entity    {        [Required]        [StringLength(50)]        ///         /// 用户名        ///         public string Name { get; set; }        [Required]        [StringLength(20)]        ///         /// 登录Id        ///         public string LoginId { get; set; }        [Required]        [StringLength(20)]        ///         /// 登录密码        ///         public string Password { get; set; }        [StringLength(11)]        ///         /// 手机号        ///         public string Mobile { get; set; }        [StringLength(100)]        ///         /// 邮箱        ///         public string Email { get; set; }        [Required]        ///         /// 用户状态(0:禁用;1:启用)        ///         public int Status { get; set; }    }
View Code

以下是数据上下文类:

public class SAUnitOfWork : DbContext, IQueryableUnitOfWork    {        public DbSet
Operation { get; set; } public DbSet
PurchaseDetail { get; set; } public DbSet
PurchaseHeader { get; set; } public DbSet
Role { get; set; } public DbSet
RoleOperations { get; set; } public DbSet
SettlementDetail { get; set; } public DbSet
SettlementHeader { get; set; } public DbSet
User { get; set; } public DbSet
UserRoles { get; set; }}
View Code

 

四、启用程序包管理器控制台

在VS菜单栏“工具”→“库程序包管理器”→打开“程序包管理器控制台”:

 

1.启用 Code First 迁移命令:Enable-Migrations

2.为迁移搭建基架:Add-Migration Initial
3.开始迁移:Update-Database

执行完以上三个命令后,你会发现在你的数据库服务实例中已经生成了数据库:

 

转载于:https://www.cnblogs.com/shaomenghao/p/3348922.html

你可能感兴趣的文章
C++ 删除字符串的两种实现方式
查看>>
ORA-01502: 索引'P_ABCD.PK_WEB_BASE'或这类索引的分区处于不可用状态
查看>>
Java抽象类和接口的比较
查看>>
开发进度一
查看>>
MyBaits学习
查看>>
管道,数据共享,进程池
查看>>
CSS
查看>>
[LeetCode] 55. Jump Game_ Medium tag: Dynamic Programming
查看>>
[Cypress] Stub a Post Request for Successful Form Submission with Cypress
查看>>
程序集的混淆及签名
查看>>
判断9X9数组是否是数独的java代码
查看>>
00-自测1. 打印沙漏
查看>>
UNITY在VS中调试
查看>>
SDUTOJ3754_黑白棋(纯模拟)
查看>>
Scala入门(1)Linux下Scala(2.12.1)安装
查看>>
如何改善下面的代码 领导说了很耗资源
查看>>
Quartus II 中常见Warning 原因及解决方法
查看>>
php中的isset和empty的用法区别
查看>>
Android ViewPager 动画效果
查看>>
pip和easy_install使用方式
查看>>