• 【CodeFirst Tutorial】 数据库初始化(Database Initialization)


    查看原文

    本文我们来学习 Code first 在初始化数据库时是如何决定数据库名称和服务器的。

     下图展示了数据库初始化的工作流。

    由图可知,上下文类的基本构造函数的参数可以有以下几种方式:

    1、没有参数

    2、有数据库名

    3、有连接字符串名

    一、没有参数(No Parameter)

    如果上下文类的基本构造函数中没有指定参数,则根据 {Namespace}.{Context class name} 生成数据库。如下代码,生成名为 SchoolDataLayer.Context 的数据库。

    namespace SchoolDataLayer
    {
        public class Context: DbContext 
        {
            public Context(): base()
            {
                
            }
        }
    }

    二、数据库名(Database Name)

    可在上下文类的基本构造函数中指定数据库名,如下代码,生成名为 MySchoolDB 的数据库。

    namespace SchoolDataLayer
    {
        public class Context: DbContext 
        {
            public Context(): base("MySchoolDB") 
            {
                       
            }
        }
    }

    三、字符串名(ConnectionString Name)

    也可以在 app.config 或者 web.config 中指定连接字符串,然后在上下文类的基本构造函数中通过以 "name=" 开头指定连接字符串名。这样我们就生成了一个名为 SchoolDB-ByConnectionString 的数据库,或者是使用已存在的 SchoolDB-ByConnectionString 数据库。确保连接字符串中包含 providerName = "System.Data.SqlClient"。

    namespace SchoolDataLayer
    {
        public class Context: DbContext 
        {
            public SchoolDBContext() : base("name=SchoolDBConnectionString") 
            {
            }
        }
    }

    App.config:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <connectionStrings>
        <add name="SchoolDBConnectionString" 
        connectionString="Data Source=.;Initial Catalog=SchoolDB-ByConnectionString;Integrated Security=true" 
        providerName="System.Data.SqlClient"/>
        </connectionStrings>
    </configuration>
  • 相关阅读:
    json dump dumps load loads
    python tip: 格式化 深浅copy sorted
    转载整理
    python 计算器练习
    实验5 OSPF虚连接和验证配置
    实验4 OSPF的特殊区域STUB和NSSA
    实验3ospf路由聚合
    实验2 OSPF基本配置
    实验1静态ECMP的浮动静态路由配置
    补充实验6:tftp
  • 原文地址:https://www.cnblogs.com/ztpark/p/6829642.html
Copyright © 2020-2023  润新知