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]记录创建数据库的日志信息。

  • 相关阅读:
    webpack 5 之持久化缓存
    前端资源加载失败优化
    如何用 JS 实现二叉堆
    简单解析一下扫码登陆原理,简单到你想不到!
    实战:Express 模拟 CSRF 攻击
    Yarn 的 Plug&#39;n&#39;Play 特性
    为什么现在我更推荐 pnpm 而不是 npm/yarn?
    小米3移动版刷安卓6.0-小米手机3 移动版 Flyme 6.7.11.24R beta
    小米5手机最后一版安卓6.0 MIUI8 6.11.10 小米5s手机最后一版安卓6.0 MIUI8 7.6.8
    vim格式转换
  • 原文地址:https://www.cnblogs.com/mora1988/p/5489791.html
Copyright © 2011-2022 走看看