以.net framework为例,包括数据库管理类库和启动项目两个项目文件

数据库管理类库

新建一个类库,名称为XXX.Database

管理nuget包,引入库EntityFramework 6.2.0

创建表

public class Student
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
}

创建DbContext,设置nameOrConnectionString为"YourDatabase"

public class YourDbContext: DbContext
{
public DbSet<Student> Students { get; set; } public YourDbContext(): base("YourDatabase")
{ }
}

启动项目

这里启动项为一个控制台程序,同样添加EntityFramework 6.2.0

在App.config文件中添加连接字符串,注意,名称为"YourDatabase"

这里是Sql Server数据库的连接字符串

<configuration>
<connectionStrings>
<add name="YourDatabase" providerName="System.Data.SqlClient" connectionString="Data Source=YourIp;Initial Catalog=XXXDb;User Id=userId;Password=password;"/>
</connectionStrings>
</configuration>

其中providerName的名称,和App.config中的provider对应,后者是引入EntityFramework的时候自动添加的

至此,两个项目均可识别EntityFramework,添加了数据库上下文、数据库表、连接字符串,可以开始迁库

迁库

打开包管理控制台(Package Manager Console),设置默认程序(Default project)为XXX.Database,启动项为上述的控制台程序

首先,允许迁库

Enable-Migrations

会自动生成Migrations文件夹及相关文件

然后创建迁移文件

add-migration add_Student_table

执行更新

update-database

使用

查询

using (var dbContext = new YourDbContext())
{
var s = dbContext.Students.FirstOrDefault(x => x.Id == 1);
}

其他不再赘述

参考资料

Entity Framework 5.0 Code First全面学习

EF Code First 快速创建的更多相关文章

  1. 【Visual Studio】 使用EF、 Linq2Sql快速创建数据交互层(一)

    项目伊始,创建数据库交互层代码是底层框架的首要任务.常用的做法包括手动编码.Hibernate或者动软之类的代码生成器,而多数人忽略了.Net环境下VS提供的两套非常好用的数据层工具. EF和Linq ...

  2. Contoso 大学 - 使用 EF Code First 创建 MVC 应用

    原文 Contoso 大学 - 使用 EF Code First 创建 MVC 应用 Contoso 大学 Web 示例应用演示了如何使用 EF 技术创建 ASP.NET MVC 应用.示例中的 Co ...

  3. 使用EF的Code First模式创建模型

    Entity Framework Core Entity Framework (EF) Core 是轻量化.可扩展.开源和跨平台版的常用 Entity Framework 数据访问技术. EF Cor ...

  4. VS code快速创建vue模板

    忘记了.vue文件的格式或者不想手动敲那段模板代码怎么办?VS code快速创建vue模板帮你偷个小懒 第一步:新建模板并保存 打开 VS code,依次点击 file > Preference ...

  5. js_html_input中autocomplete="off"在chrom中失效的解决办法 使用JS模拟锚点跳转 js如何获取url参数 C#模拟httpwebrequest请求_向服务器模拟cookie发送 实习期学到的技术(一) LinqPad的变量比较功能 ASP.NET EF 使用LinqPad 快速学习Linq

    js_html_input中autocomplete="off"在chrom中失效的解决办法 分享网上的2种办法: 1-可以在不需要默认填写的input框中设置 autocompl ...

  6. Sqlite && EF Code FIRST 终极解决方案 2019.5.17

    Sqlite && EF Code FIRST 终极解决方案 2019.5.17 包括根据模型自动生成数据库,初始化数据,模型改变时的自动数据迁移等 2019.12.25 更新 支持E ...

  7. EF Code First Migrations数据库迁移

    1.EF Code First创建数据库 新建控制台应用程序Portal,通过程序包管理器控制台添加EntityFramework. 在程序包管理器控制台中执行以下语句,安装EntityFramewo ...

  8. 【极力分享】[C#/.NET]Entity Framework(EF) Code First 多对多关系的实体增,删,改,查操作全程详细示例【转载自https://segmentfault.com/a/1190000004152660】

      [C#/.NET]Entity Framework(EF) Code First 多对多关系的实体增,删,改,查操作全程详细示例 本文我们来学习一下在Entity Framework中使用Cont ...

  9. 从零开始,搭建博客系统MVC5+EF6搭建框架(1),EF Code frist、实现泛型数据仓储以及业务逻辑

    前言      从上篇30岁找份程序员的工作(伪程序员的独白),文章开始,我说过我要用我自学的技术,来搭建一个博客系统,也希望大家给点意见,另外我很感谢博客园的各位朋友们,对我那篇算是自我阶段总结文章 ...

随机推荐

  1. javax.persistence.PersistenceException: org.hibernate.PersistentObjectException: detached entity passed to persist: com.qingmu.Customer

    javax.persistence.PersistenceException: org.hibernate.PersistentObjectException: detached entity pas ...

  2. Java Mail 异常

    Java Mail 异常 java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream 解决方案: 把Jar包换一个比较高的版本就 ...

  3. 2019牛客暑期多校训练营(第五场)B:generator 1 (10进制快速幂)

    题意:给定x0,x1,a,b,满足xi=a*xi-1+b*xi-2: 求xn,n<10^(10^6): 思路:10进制快速幂裸题.降幂来写好像也是可以的,但是循环节不是phi(mod),所以数学 ...

  4. 【Java】SpringBoot-Ajax-Json:Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported for @RequestBody XXX

    1.重新组装数据 var params=JSON.stringify({"userword":XXXXX,"password":"XXXXX" ...

  5. SpringMVC+Mybatis学习

    简单Web项目搭建: 一.流程 1. 导包 n个springMVC: 2个mybatis<其中一个是mybatis-spring>: 3个jackson包: 2. xml配置 web.xm ...

  6. js spread object

    What’s is the benefit / drawback of these two alternatives? Using object spread options = {...option ...

  7. HDU 6583 Typewriter(后缀自动机)

    Typewrite \[ Time Limit: 1500 ms\quad Memory Limit: 262144 kB \] 题意 给出一个字符串 \(s\),现在你需要构造出这个字符串,你每次可 ...

  8. PHP的简单了解

    PHP 标识符/关键字/数据类型 标识符:其实标识符就是变量的名称,函数与类的名称也是标识符.PHP中标识符的规则: 1.标识符可以是任意长度的字母.数字.下划线,且不得以数字开头. 2.PHP中标识 ...

  9. 网络命令——write、wall、ping、ifconfig、mail

    1.write命令: 前提:用户必须在线: (1)向zhb用户发送信息: (2)用户收到信息: CTRL+D结束会话. 2.wall(发送广播信息,即给在线的所有用户发送信息) 管理员发送消息(自己可 ...

  10. Odds calculation required for the python strategy library

    Bet Class class strats.Bet(inp)[source] Here is an example of the expected string input on instantia ...