zoukankan      html  css  js  c++  java
  • 【译】第33节---种子数据

    原文:http://www.entityframeworktutorial.net/code-first/seed-database-in-code-first.aspx

    你可以在数据库初始化过程中将数据插入到数据库表中。 如果要为应用程序提供一些测试数据或为应用程序提供一些默认的主数据的话,这将非常重要。

    要将数据输入到数据库中,必须创建自定义DB初始化程序,就像在数据库初始化策略中创建的那样,并重写Seed方法。

    以下示例展示如何在初始化School数据库时为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" });
    
            foreach (Standard std in defaultStandards)
                context.Standards.Add(std);
    
            base.Seed(context);
        }
    }

    现在,在上下文类中设置这个DB初始化类,如下所示:

    public class SchoolContext: DbContext 
    {
            
        public SchoolContext(): base("SchoolDBConnectionString") 
        {
            Database.SetInitializer(new SchoolDBInitializer());
    
        }
        public DbSet<Student> Students { get; set; }
        public DbSet<Standard> Standards { get; set; }
    }
  • 相关阅读:
    Mybatis详解(二)
    Mybatis详解(一)
    Java集合
    Java基础之IO
    Java异常知识点!
    HTTP状态码
    ajax传字符串时出现乱码问题的解决
    Json 文件 : 出现 Expected value at 1:0 问题的解决
    java @XmlTransient与@Transient区别
    文件的上传和回显
  • 原文地址:https://www.cnblogs.com/talentzemin/p/7323759.html
Copyright © 2011-2022 走看看