首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >(转载)EF 使用code first模式创建数据库和 填充种子数据

(转载)EF 使用code first模式创建数据库和 填充种子数据

作者头像
CherishTheYouth
发布2019-09-11 14:41:50
7680
发布2019-09-11 14:41:50
举报
文章被收录于专栏:Vue技术实践Vue技术实践

转载声明:

第一篇:来自 .net 开发菜鸟 博主的文章:https://cloud.tencent.com/developer/article/1503536

第二篇:来自 JustYong 博主的文章:https://www.cnblogs.com/JustYong/p/5970683.html

感谢两位博主贡献精彩文章,感谢分享。

自己公司使用的开发框架,每次使用都要手动的把一些公共的数据添加进去,感觉很麻烦,所以就查了一下 “ 如何填充种子数据” ,看了以上的文章,很受益。

在Migrations文件夹下的 数据迁移配置文件 Configuration.cs 下的 Seed()函数中添加种子数据,代码如下,亲测针对本公司框架使用无误:

namespace ORM.Migrations
{
    using Modules;
    using System;
    using System.Data.Entity;
    using System.Data.Entity.Migrations;
    using System.Linq;

    public sealed class Configuration : DbMigrationsConfiguration<ORM.MyDbContext>
    {
        public Configuration()
        {
            AutomaticMigrationsEnabled = true;
            AutomaticMigrationDataLossAllowed = true;
            ContextKey = "ORM.MyDbContext";
        }

        protected override void Seed(ORM.MyDbContext context)
        {
            //  This method will be called after migrating to the latest version.

            //  You can use the DbSet<T>.AddOrUpdate() helper extension method 
            //  to avoid creating duplicate seed data.
            var pId = Guid.NewGuid();
            int orderNumber = 999;
            var sysMenuSet = new Menu()
            {
                Id = pId,
                ParentId = null,
                Name = "系统设置",
                Url = null,
                IconClass = null,
                OrderNumber = orderNumber
            };
            var menuSet = new Menu()
            {
                Id = Guid.NewGuid(),
                ParentId = pId,
                Name = "菜单设置",
                Url = "Menu/Index",
                IconClass = null,
                OrderNumber = orderNumber
            };
            var dicitemSet = new Menu()
            {
                Id = Guid.NewGuid(),
                ParentId = pId,
                Name = "字典设置",
                Url = "Dic/Index",
                IconClass = null,
                OrderNumber = orderNumber
            };
            var userSet = new Menu()
            {
                Id = Guid.NewGuid(),
                ParentId = pId,
                Name = "账户设置",
                Url = "User/Index",
                IconClass = null,
                OrderNumber = orderNumber
            };
            var empolyeeSet = new Menu()
            {
                Id = Guid.NewGuid(),
                ParentId = pId,
                Name = "用户管理",
                Url = "Employee/Index",
                IconClass = null,
                OrderNumber = orderNumber
            };
            var roleSet = new Menu()
            {
                Id = Guid.NewGuid(),
                ParentId = pId,
                Name = "角色管理",
                Url = "Role/Index",
                IconClass = null,
                OrderNumber = orderNumber
            };
            var departmentSet = new Menu()
            {
                Id = Guid.NewGuid(),
                ParentId = pId,
                Name = "部门管理",
                Url = "Department/Index",
                IconClass = null,
                OrderNumber = orderNumber
            };
            var tagSet = new Menu()
            {
                Id = Guid.NewGuid(),
                ParentId = pId,
                Name = "标签管理",
                Url = "Tag/Index",
                IconClass = null,
                OrderNumber = orderNumber
            };
            var funcSet = new Menu()
            {
                Id = Guid.NewGuid(),
                ParentId = pId,
                Name = "权限管理",
                Url = "Func/Index",
                IconClass = null,
                OrderNumber = orderNumber
            };
            context.Menus.Add(sysMenuSet);
            context.Menus.Add(menuSet);
            context.Menus.Add(dicitemSet);
            context.Menus.Add(roleSet);
            context.Menus.Add(userSet);
            context.Menus.Add(empolyeeSet);
            context.Menus.Add(departmentSet);
            context.Menus.Add(tagSet);
            context.Menus.Add(funcSet);
            base.Seed(context);
        }
    }
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-04-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档