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

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

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

 1 public class AccountContext:DbContext
 2     {
 3         public AccountContext():base("AccountContext") { }
 4         public DbSet<SysUser> SysUsers { get; set; }
 5         public DbSet<SysRole> SysRoles { get; set; }
 6         public DbSet<SysUserRole> SysUserRoles { get; set; }
 7 
 8         protected override void OnModelCreating(DbModelBuilder modelBuilder)
 9         {
10             modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
11         }
12     }

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

 1 <entityFramework>
 2     <contexts>
 3       <context type="MVCDemo.DAL.AccountContext,MVCDemo" disableDatabaseInitialization="false">
 4         <databaseInitializer type="MVCDemo.DAL.AccountInitializer,MVCDemo"></databaseInitializer>
 5       </context>
 6     </contexts>
 7     <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
 8       <parameters>
 9         <parameter value="v11.0" />
10       </parameters>
11     </defaultConnectionFactory>
12     <providers>
13       <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
14     </providers>
15   </entityFramework>

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

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

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

原文地址:https://www.cnblogs.com/mora1988/p/5489791.html