博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
EF Code First数据库连接配置
阅读量:6927 次
发布时间:2019-06-27

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

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

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

  App.config

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

  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.Data 12 {
13 public class NorthwindContext : DbContext 14 {
15 public DbSet
Categories { get; set; } 16 public DbSet
Products { get; set; } 17 public DbSet
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.Data 12 {
13 public class NorthwindContext : DbContext 14 {
15 public NorthwindContext() 16 { } 17 18 public NorthwindContext(string databaseName) 19 : base(databaseName) 20 {
21 22 } 23 24 public DbSet
Categories { get; set; } 25 public DbSet
Products { get; set; } 26 public DbSet
Suppliers { get; set; } 27 public DbSet
Users { get; set; } 28 public DbSet
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 
2
3
4
5
6
7
8
9
10

  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.Data 12 {
13 public class NorthwindContext : DbContext 14 {
15 public NorthwindContext() 16 : base("name=NorthwindConnectionString") 17 { } 18 19 public DbSet
Categories { get; set; } 20 public DbSet
Products { get; set; } 21 public DbSet
Suppliers { get; set; } 22 public DbSet
Users { get; set; } 23 public DbSet
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 }

转载于:https://www.cnblogs.com/libingql/archive/2012/03/30/2425064.html

你可能感兴趣的文章
What is a UINavigationTransitionView
查看>>
Solr DIH以Mysql为数据源批量创建索引
查看>>
有一个NSStirng类型,retain时尚宣言name财产setter内部方法的每一行代码的作用?
查看>>
一个非常不错的gridview 风格
查看>>
安装ejabberd2并配置MySQL为其数据库
查看>>
第1章 游戏之乐——高效率地安排见面会
查看>>
PHP 错误与异常 笔记与总结(13 )自定义异常类
查看>>
Java知多少(完结篇)
查看>>
MFC带标题栏的窗口和不带标题栏的窗口最大化
查看>>
Android有关JNI 学习(两)为JNI方法名称,数据类型和方法签名的一些知识
查看>>
jQuery使用FormData上传文件
查看>>
关于近段时间论坛型APP 的一段舍弃
查看>>
codeforces Gym 100500 J. Bye Bye Russia
查看>>
定制Eclipse IDE之功能篇(二)
查看>>
ajax j跨域请求sonp
查看>>
Ant配置
查看>>
STM32 GPIO 配置之ODR, BSRR, BRR 详解
查看>>
Android的回调
查看>>
告诉一个远程团队协作的故事
查看>>
ecshop调用后台指定广告位下所有广告循环
查看>>