使用Entity Framework通过code first方式创建数据库和数据表

时间:2022-07-16 04:07:04

开发环境 WIN10 Entity Framework6.0  MVC5.0  开发工具 VS2015  SqlServer2012

1.创建上下文Context继承DbContext,并创建其他的业务类,这些业务类会创建对应的数据表。

 public class AccountContext:DbContext
{
public AccountContext():base("AccountContext") { }
public DbSet<SysUser> SysUsers { get; set; }
public DbSet<SysRole> SysRoles { get; set; }
public DbSet<SysUserRole> SysUserRoles { get; set; } protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
}

2.在web.config配置文件的entityFramework节点中加入context节点

 <entityFramework>
<contexts>
<context type="MVCDemo.DAL.AccountContext,MVCDemo" disableDatabaseInitialization="false">
<databaseInitializer type="MVCDemo.DAL.AccountInitializer,MVCDemo"></databaseInitializer>
</context>
</contexts>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="v11.0" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>

3.配置数据库连接字符串,这里要注意的是:name="AccountContext",数据库连接name的值要和前面上下文Context依赖的数据库连接名称保持一致。

 <connectionStrings>
<add name="AccountContext" connectionString="Data Source=.;database=MVCDemo;uid=sa;pwd=sunfast;" providerName="System.Data.SqlClient"/>
</connectionStrings>

4.运行项目,将会自动创建数据库,数据库文件默认放在SQLSERVER的安装目录下,数据库中会多创建一张表[dbo].[__MigrationHistory]记录创建数据库的日志信息。