前面几节,使用的都是通过EF Code First创建的新数据库,接下来,将开始使用已存在的数据库。

  1、使用配置文件设置数据库连接

  App.config

  数据库连接字符串的name与Data中NorthwindContext.cs类名相同

<?xml version="1.0" encoding="utf-8"?><configuration>  <configSections>    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.3.1.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />  </configSections>  <connectionStrings>    <add name="NorthwindContext" connectionString="Data Source=(local); Database=Northwind; User ID=sa; Password=1;" providerName="System.Data.SqlClient"/>  </connectionStrings></configuration>  Data中NorthwindContext.cs

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5  6 using System.Data.Entity; 7  8 using Northwind.Domain.Entities; 9 using Northwind.Domain.Mapping;10 11 namespace Northwind.Data12 {13     public class NorthwindContext : DbContext14     {15         public DbSet<Category> Categories { get; set; }16         public DbSet<Product> Products { get; set; }17         public DbSet<Supplier> Suppliers { get; set; }18 19         protected override void OnModelCreating(DbModelBuilder modelBuilder)20         {21             modelBuilder.Configurations.Add(new CategoryMap());22             modelBuilder.Configurations.Add(new ProductMap());23             modelBuilder.Configurations.Add(new SupplierMap());24         }25     }26 }  执行成功后,创建的数据库如下图:

  2、使用构造函数指定数据库

  NorthwindContext.cs

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5  6 using System.Data.Entity; 7  8 using Northwind.Domain.Entities; 9 using Northwind.Domain.Mapping;10 11 namespace Northwind.Data12 {13     public class NorthwindContext : DbContext14     {15         public NorthwindContext()16         { }17 18         public NorthwindContext(string databaseName)19             : base(databaseName)20         {21 22         }23 24         public DbSet<Category> Categories { get; set; }25         public DbSet<Product> Products { get; set; }26         public DbSet<Supplier> Suppliers { get; set; }27         public DbSet<User> Users { get; set; }28         public DbSet<Role> Roles { get; set; }29 30         protected override void OnModelCreating(DbModelBuilder modelBuilder)31         {32             modelBuilder.Configurations.Add(new CategoryMap());33             modelBuilder.Configurations.Add(new ProductMap());34             modelBuilder.Configurations.Add(new SupplierMap());35             modelBuilder.Configurations.Add(new UserMap());36             modelBuilder.Configurations.Add(new RoleMap());37         }38     }39 }  Program.cs

using (NorthwindContext db = new NorthwindContext("Northwind")){}  3、使用构造函数指定数据库连接字符串

  App.config

1 <?xml version="1.0" encoding="utf-8"?> 2 <configuration> 3   <configSections> 4     <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> 5     <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.3.1.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 6   </configSections> 7   <connectionStrings> 8     <add name="NorthwindConnectionString" connectionString="Data Source=(local); Database=Northwind; User ID=sa; Password=1;" providerName="System.Data.SqlClient"/> 9   </connectionStrings>10 </configuration>  NorthwindContext.cs

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5  6 using System.Data.Entity; 7  8 using Northwind.Domain.Entities; 9 using Northwind.Domain.Mapping;10 11 namespace Northwind.Data12 {13     public class NorthwindContext : DbContext14     {15         public NorthwindContext()16             : base("name=NorthwindConnectionString")17         { }18 19         public DbSet<Category> Categories { get; set; }20         public DbSet<Product> Products { get; set; }21         public DbSet<Supplier> Suppliers { get; set; }22         public DbSet<User> Users { get; set; }23         public DbSet<Role> Roles { get; set; }24 25         protected override void OnModelCreating(DbModelBuilder modelBuilder)26         {27             modelBuilder.Configurations.Add(new CategoryMap());28             modelBuilder.Configurations.Add(new ProductMap());29             modelBuilder.Configurations.Add(new SupplierMap());30             modelBuilder.Configurations.Add(new UserMap());31             modelBuilder.Configurations.Add(new RoleMap());32         }33     }34 }

EF Code First数据库连接配置的更多相关文章

  1. 【译】第8节---EF Code First中配置类

    原文:http://www.entityframeworktutorial.net/code-first/configure-classes-in-code-first.aspx 前面的章节中我们知道 ...

  2. EF Code First 一对多、多对多关联,如何加载子集合?

    应用场景 先简单描述一下标题的意思:使用 EF Code First 映射配置 Entity 之间的关系,可能是一对多关系,也可能是多对多关系,那如何加载 Entity 下关联的 ICollectio ...

  3. 【Docker】 .Net Core 3.1 webapi 集成EF Code First,使用MySql进行业务操作 、配置swagger (三)

    系列目录: [Docker] CentOS7 安装 Docker 及其使用方法 ( 一 ) [Docker] 使用Docker 在阿里云 Centos7 部署 MySQL 和 Redis (二) [D ...

  4. 【EF Code First】 一对一、一对多的多重关系配置

    这里使用相册Album和图片Picture的关系做示例 1,Album与Picture最基本的关系是1-n(一个相册可以有多张图片) 这时Album.Picture实体类可以这么定义 /// < ...

  5. 【EF Code First】 一对多、多对多的多重关系配置

    这里使用用户表(User)和项目(Project)表做示例 有这样一个需求: 用户与项目的关系是:一个用户可以发多个项目,可以参加多个项目,而项目可以有多个参与成员和一个发布者 [其中含1-n和n-n ...

  6. EF Code First 数据迁移配置

    这里我想讲清楚code first 数据迁移的两种模式,还有开发环境和生产环境数据迁移的最佳实践. 1.1 数据迁移综述 EF Code first 虽然已经有了几种不同的数据库初始化策略,但是大部分 ...

  7. EF Code First 学习笔记:约定配置 Data Annotations+Fluent API

    要更改EF中的默认配置有两个方法,一个是用Data Annotations(在命名空间System.ComponentModel.DataAnnotations;),直接作用于类的属性上面;还有一个就 ...

  8. [转载]EF Code First 学习笔记:约定配置

    要更改EF中的默认配置有两个方法,一个是用Data Annotations(在命名空间System.ComponentModel.DataAnnotations;),直接作用于类的属性上面;还有一个就 ...

  9. EF Code First 学习笔记:约定配置

    要更改EF中的默认配置有两个方法,一个是用Data Annotations(在命名空间System.ComponentModel.DataAnnotations;),直接作用于类的属性上面;还有一个就 ...

随机推荐

  1. postgres优化项及linux上pg操作记录

    1.linux切换到pg命令: $ su - postgres $ psql postgres=# 2.查看/退出pg ps -ef |grep postgres postgres=# \q 3.一般 ...

  2. 【ARC072E】Alice in linear land

    题目 瑟瑟发抖,这竟然只是个蓝题 题意大概就是初始在\(0\),要到坐标为\(D\)的地方去,有\(n\)条指令,第\(i\)条为\(d_i\).当收到一条指令\(x\)后,如果向\(D\)方向走\( ...

  3. HDU 5531

    题目大意: 给定一个n边形的顶点 以每个顶点为圆心画圆(半径可为0) 每个顶点的圆要和它相邻顶点的圆相切(不相邻的可相交) 求所有圆的最小面积总和并给出所有圆的半径 设半径为r1 r2 ... rn, ...

  4. 精选15个国外CSS框架

    转自:http://blog.bingo929.com/css-frameworks-15.html 什么是css框架 实际上还是让我们从框架说起吧.框架就是一个你可以用于你的网站项目的基本的概念上的 ...

  5. 事务和JDBC事务隔离级别

    与事务相关的理论 mysql事物隔离级别:http://mj4d.iteye.com/blog/1744276 事务(Transaction): 是并发控制的单元,是用户定义的一个操作序列.这些操作要 ...

  6. C#让两个长度相同的数组一一对应

    比如: string a[]={"x","y","z"} "} 用字典使其一一对应 Dictionary<string, s ...

  7. 跟我一起使用Vue.js + Docker 部署项目

    本文学习自:https://juejin.im/post/5bee5ddde51d457b8a33938c 项目环境是在ubuntu下,记得要在root目录下,不然安装vue会报错 npm insta ...

  8. thinkphp 定界符

    模板文件可以包含普通模板标签和XML模板标签,标签的定界符都可以重新配置. 大理石平台厂家 普通标签 内置模板引擎的普通模板标签默认以{ 和 } 作为开始和结束标识,并且在开始标记紧跟标签的定义,如果 ...

  9. 「题解」:$d$

    问题 A: $d$ 时间限制: 1 Sec  内存限制: 512 MB 题面 题面谢绝公开. 题解 赛时切掉了然而过程十分曲折. 贪心思路很好想.然而一开始错误以为是单峰.其实几个峰都有可能. 开场写 ...

  10. ECMAScript 6中的Set和Map数据结构

    一.Set 基本用法: Set本身是一个构造函数,用来生成Set数据结构.Set函数可以接受一个数组作为参数用来初始化. const arr = new Set([2,2,3,3,4,4,5,8]); ...