zoukankan      html  css  js  c++  java
  • Entity FrameWork Code First 之 MVC4 数据库初始化策略用法

    https://www.cnblogs.com/xcong/p/3524598.html

    通过启用迁移和更新数据库可以很容易的生成一张表。但是对数据库修改之后,通过数据迁移就没那么好实现了。

    这里用到数据库生成策略,进行对数据库操作:

    一、3种主要数据库生成策略

    Global.asax:Application_Start()方法中添加:

    Database.SetInitializer(new CreateDatabaseIfNotExists<ManagementDBContext>());
    Database.SetInitializer(new DropCreateDatabaseIfModelChanges<ManagementDBContext>());
    Database.SetInitializer(new DropCreateDatabaseAlways<ManagementDBContext>());

    生成数据库的时刻:

            public ActionResult Index()
            {
                using (ManagementDBContext db = new ManagementDBContext())
                {
                    var result = db.Permissions.ToList();
                }
                return View();
            }

    二、自定义生成策略

    自定义策略主要用的自定义策略中重写的Seed方法。

    可以在Seed方法中加一些初始数据,这样生成的时候就会生成初始数据。

    public class ManagementDBContextInitializer : DropCreateDatabaseAlways<ManagementDBContext>
        {
            protected override void Seed(ManagementDBContext context)
            {var roles = new List<Role>
                {
                    new Role{
                        RoleName="超级管理员",
                        Description="Administrator"
                    },
                    new Role{
                        RoleName="普通管理员",
                        Description="Admin"
                    }
                };
                roles.ForEach(l => context.Roles.Add(l));
            base.Seed(context);
    } }
    Database.SetInitializer<ManagementDBContext>(new ManagementDBContextInitializer<ManagementDBContext>()); //注册数据库初始化

      

  • 相关阅读:
    配置DHCP Snooping防止DHCP Server仿冒者攻击示例
    初识kbmmw 的多语言支持
    kbmmw 5.16.0 发布
    sql去除注释
    markdown写ppt
    Kafka流处理内幕详解
    【转载】matplotlib.pyplot的使用总结大全(入门加进阶)
    魔方第三层旋转公式
    自动化机器学习方面的开源框架和商业服务列表
    进阶版OFA算法:CompOFA: Compound Once-for-all Networks
  • 原文地址:https://www.cnblogs.com/wfy680/p/12346446.html
Copyright © 2011-2022 走看看