当前位置: 移动技术网 > IT编程>开发语言>.net > 18.翻译系列:EF 6 Code-First 中的Seed Data(种子数据或原始测试数据)【EF 6 Code-First系列】

18.翻译系列:EF 6 Code-First 中的Seed Data(种子数据或原始测试数据)【EF 6 Code-First系列】

2019年04月14日  | 移动技术网IT编程  | 我要评论

秀智 快乐大本营,文艺晚会,电脑gps定位软件

原文链接:

你可以在数据库初始化的过程中,插入数据到数据库。当你想要给你的应用程序设置一些测试数据或者一些基本数据,这是很重要的一个方法。

为了插入原始数据到数据库,你需要创建一个自定义的数据库初始化策略,并且重写seed方法。

下面的代码,展示了当数据库初始化的时候,向standard表插入一下默认的数据:

public class schooldbinitializer : dropcreatedatabasealways<schooldbcontext>
{
    protected override void seed(schooldbcontext context)
    {
        ilist<standard> defaultstandards = new list<standard>();

        defaultstandards.add(new standard() { standardname = "standard 1", description = "first standard" });
        defaultstandards.add(new standard() { standardname = "standard 2", description = "second standard" });
        defaultstandards.add(new standard() { standardname = "standard 3", description = "third standard" });

        context.standards.addrange(defaultstandards);

        base.seed(context);
    }
}

然后,在上下文类中设置自定义的数据库初始化策略类;

public class schoolcontext: dbcontext 
{
    public schoolcontext(): base("schooldb") 
    {
        database.setinitializer(new schooldbinitializer());
    }
    
    public dbset<student> students { get; set; }
    public dbset<standard> standards { get; set; }
}

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网