zoukankan      html  css  js  c++  java
  • 使用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]记录创建数据库的日志信息。

  • 相关阅读:
    Repository中进行模糊查询
    Spring jpa添加查询条件
    java后端repository层中进行模糊查询
    MyBatis小白问题 1、Invalid bound statement (not found): com.itheima.dao.UserDao.findAll,2、Resources.getResourceAsStream()报错
    Date类型做加减运算
    时间格式转换
    mysql-支持的数据类型
    mysql—表的完整性约束
    数据库—表操作(第二章)
    mysql—使用python操作mysql数据库(第五章)
  • 原文地址:https://www.cnblogs.com/mora1988/p/5489791.html
Copyright © 2011-2022 走看看