原文地址:http://www.entityframeworktutorial.net/code-first/database-initialization-in-code-first.aspx

EF 6 Code-First系列文章目录:

在本系列教程的Code-First示例一节中,我们已经看到了EF 自动创建数据库的过程。这一节中,我们将学习Code-First模式中,初始化数据库的时候, EF是如何决定创建的数据库名称,以及在哪个服务器上创建数据库。

下面的图形,列出来了数据库初始化的流程,从图中可以看出,流程走向是基于我们传递给上下文类【继承自DbContext类】的参数的。

就像上图所示,基于上下文的参数,我们有下面几种:

  1. No Parameter【没有参数】
  2. Database Name【数据库名称】
  3. Connection String Name 【连接字符串名称】

先看下没有参数的情况吧:

如果你在上下文类中,没有指定任何参数的话,就会在你本地的 SQLEXPRESS 服务器上创建数据库,数据库名称是:{Namespace}.{Context clas Name}.【命名空间.上下文类的名称】,例如下面的代码,EF将会创建SchoolDataLayer.Context名称的数据库。

接着看看 第二种情况:数据库名称

你可以在上下文类调用的base构造函数中,传入数据库名称参数,然后EF就会创建你指定的数据库名称的数据库。例如下面代码,EF为我们创建的是MySchoolDB数据库。

最后看看第三种情况:数据库连接字符串的名称吧。

你可以在app.config配置文件中,配置数据库连接字符串,然后把配置文件中连接字符串的名称,传递到上下文类的base构造函数中。形式如下:“name=你的连接字符串名称”。下面的代码,我们传递的是:

在上面的上下文类中,我们指定了一个连接字符串作为参数。请注意的是,连接字符串应该是【name=】开头,否则就被被认为是数据库的名称,上面配置文件中数据库是SchoolDB-ByConnectionString。EF就会为我们创建这个名称的数据库。请注意,你需要确保

providerName = "System.Data.SqlClient" 包含在连接字符串中。

好了,这一节就介绍完了,下面一节,将介绍数据库初始化策略。

5.翻译系列:EF 6中数据库的初始化(EF 6 Code-First 系列)的更多相关文章

  1. 20.2.翻译系列:EF 6中基于代码的数据库迁移技术【EF 6 Code-First系列】

    原文链接:https://www.entityframeworktutorial.net/code-first/code-based-migration-in-code-first.aspx EF 6 ...

  2. 20.翻译系列:Code-First中的数据库迁移技术【EF 6 Code-First系列】

    原文链接:https://www.entityframeworktutorial.net/code-first/migration-in-code-first.aspx EF 6 Code-First ...

  3. 6.翻译系列:EF 6 Code-First中数据库初始化策略(EF 6 Code-First系列)

    原文链接:http://www.entityframeworktutorial.net/code-first/database-initialization-strategy-in-code-firs ...

  4. 20.1翻译系列:EF 6中自动数据迁移技术【EF 6 Code-First系列】

    原文链接:https://www.entityframeworktutorial.net/code-first/automated-migration-in-code-first.aspx EF 6 ...

  5. 19.翻译系列:EF 6中定义自定义的约定【EF 6 Code-First约定】

    原文链接:https://www.entityframeworktutorial.net/entityframework6/custom-conventions-codefirst.aspx EF 6 ...

  6. 16.翻译系列:EF 6 Code -First中使用存储过程【EF 6 Code-First系列】

    原文链接:https://www.entityframeworktutorial.net/entityframework6/code-first-insert-update-delete-stored ...

  7. 15.翻译系列:EF 6中的级联删除【EF 6 Code-First 系列】

    原文链接:https://www.entityframeworktutorial.net/code-first/cascade-delete-in-code-first.aspx EF 6 Code- ...

  8. 11.翻译系列:在EF 6中配置一对零或者一对一的关系【EF 6 Code-First系列】

    原文链接:https://www.entityframeworktutorial.net/code-first/configure-one-to-one-relationship-in-code-fi ...

  9. 7.翻译系列:EF 6中的继承策略(EF 6 Code-First 系列)

    原文地址:http://www.entityframeworktutorial.net/code-first/inheritance-strategy-in-code-first.aspx EF 6 ...

随机推荐

  1. jQuery如何退出each循环 和如何退出function函数

    1.在函数内部使用return false是跳出function; 2.在each的回调函数中使用return false,是跳出each循环;return true 进入下一个循环: 3.break ...

  2. Matrix Power Series POJ3233

    递推思想  先放着 见 https://www.cnblogs.com/jackge/p/3147604.html

  3. 【Java】 剑指offer(21) 调整数组顺序使奇数位于偶数前面

    本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集   题目 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇 ...

  4. 040 关于hive元数据的解析

    一:原理 1.整体原理 找到数据库 找到表 先找分区表,然后不找SDS表了,先去找PARTITIONS表,根据这张表的SD_ID找对应的HDFS路劲 再普通表,直接根据SDS表的中SD_ID找到对应的 ...

  5. SqlServer 添加用户 添加角色 分配权限

    转载自:https://www.cnblogs.com/accumulater/p/6158387.html   --创建一个简单的登录,登录名为:newlogin:登录密码:123456:默认数据库 ...

  6. 二分搜索-poj2785

    题目链接:http://poj.org/problem?id=2785 题目大意:要求输入A,B,C,D四个数组,从每个数组中分别取出一个数来相加,求出相加后 和为0 总共有多少种加法. #inclu ...

  7. kms可用激活服务器地址|kms可用激活服务器分享

    kms可用激活服务器地址|kms可用激活服务器分享   kms可用激活服务器地址都有哪些呢?使用kms激活服务器激活windows和office是微软提供的激活方式之一.kms激活服务器普遍由个人或企 ...

  8. thumbs.db是什么文件

    thumbs.db是什么文件  这是图片缓存文件 Thumbs.db文件是一个数据库,里面保存了这个目录下所有图像文件的缩略图(格式为jpeg) thumbs.db删除不掉 反射获取某个类的 所有字段 ...

  9. Nowcoder 提高 Day1

    比赛链接 A 中位数(前缀和 二分) 额,确实没想到逼近... 然后写了n^2log的暴力,还CE了 只需要判断是否能有大于当前mid的中位数就好 这显然是可以二分的 代码 #include<b ...

  10. mongodb操作符

    1."$gt" ."$gte". "$lt". "$lte"."null查询"."$all ...