首页 > 代码库 > EF Code-First 学习之旅 数据库初始化

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 学习之旅 数据库初始化