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>