EF Code-First 学习之旅 数据库初始化

Posted 蓝平凡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EF Code-First 学习之旅 数据库初始化相关的知识,希望对你有一定的参考价值。

 

Context类的基类构造函数有如下的参数

1.无参数

  如果没有给基类构造函数添加参数,它会在local SQLEXPRESS server创建数据库,名为{Namespace}.{Context class name}

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

 

上面创建的数据库名称为:SchoolDataLayer.Context

 

2.参数为:数据库名称

  如果基类构造函数指定数据库名称,则在local SQLEXPRESS database server创建名为你给定名称的数据库

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

 

上面的数据库名称为:MySchoolDB 

 

3.参数为:连接字符串名称

  可以在app.config或web.config中创建连接字符串,如果基类构造函数用的参数已name=开头,则Code First会根据连接字符串创建数据库

namespace SchoolDataLayer
{
    public class Context: DbContext 
    {
        public SchoolDBContext() : base("name=SchoolDBConnectionString") 
        {
        }
    }
}
<?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>

 

以上是关于EF Code-First 学习之旅 数据库初始化的主要内容,如果未能解决你的问题,请参考以下文章

EF Code-First 学习之旅

EF Code-First 学习之旅 DataAnnotations

EF Code-First 学习之旅 从已存在的数据库进行Code First

EF Code-First 学习之旅 Code First Conventions

EF Code-First 学习之旅 配置一对一的关系

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