zoukankan      html  css  js  c++  java
  • Entity Framework Codefirst的配置步骤

    Entity Framework Codefirst的配置步骤:
     (1) 安装命令: install-package entityframework
     (2) 创建实体类,注意virtual关键字在导航属性中的用法
     (3) 创建DbContext类,为每个entity set创建一个DbSet;
        指定一个连接字符串构造函数中的 base("AccountContext") 。
        设置表的单数形式

     public class AccountContext:DbContext
     {
            public AccountContext():base("AccountContext") //web.config文件数据库连接字符串名称
            {
    
            }
    
            protected override void OnModelCreating(DbModelBuilder modelBuilder)
            {
                //指定单数形式的表名
                modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
            }
    }

    (4)在Web.config中配置Entity Framework
       配置连接字符串
    (5)创建Initializer类, 使用EF初始化数据库,插入示例数据

    public class AccountInitializer:DropCreateDatabaseIfModelChanges<AccountContext>
    {
            /// <summary>
            /// 初始化数据库,需要在配置 文件中配置EnityFramework
            /// </summary>
            /// <param name="context"></param>
            protected override void Seed(AccountContext context)
            {
                //初始化数据
                var sysUsers = new List<SysUser>
                {
                    new SysUser {UserName="Tom",Password="1", Email="tom@accp.com" },
                    new SysUser() {UserName="Jerry", Password="2",Email="Jerry@accp.com" }
                };
                sysUsers.ForEach(s => context.SysUsers.Add(s));
                context.SaveChanges();
    
             }
        }

    (6)修改web.config, 通知EF使用我们刚刚写好的initializer类

    <entityFramework>
        <!-- context 配置节中, type 的值对应 (context class的完整描述,程序集)
             databaseInitializer 配置节中 , type 的值对应 (initializer class 的完整描述,程序集)-->    
        <contexts> 
          <context type="ResTest.DAL.AccountContext,ResTest">
            <databaseInitializer type="ResTest.DAL.AccountInitializer,ResTest"></databaseInitializer>
          </context>
        </contexts>
    </entityFramework>

    至此 配置完成!

  • 相关阅读:
    Linux MySQL的root无法登录数据库ERROR 1045 (28000)
    Linux 命令行初始化MySQL数据库
    Centos6、Centos7防火墙基本操作整理
    文本三剑客之awk
    加密类型、数据加密解密过程以及CA创建
    Centos7启动流程及systemd中Nginx启动配置
    Linux任务计划
    Linux进程管理
    IP地址简介及Linux网络管理工具
    Linux脚本
  • 原文地址:https://www.cnblogs.com/mrfang/p/8409085.html
Copyright © 2011-2022 走看看