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; }
    }
  • 相关阅读:
    1334: 好老师
    poj 2255 Tree Recovery
    2006浙大:简单计算器
    POJ1001(C++处理大数)
    HDU2159(二维完全背包)
    POJ2080:Calendar(计算日期)
    2008上交:Day of Week
    POJ1365:质因数分解
    VIJOS:P1706(舞会)
    POJ2449:K短路
  • 原文地址:https://www.cnblogs.com/talentzemin/p/7323759.html
Copyright © 2011-2022 走看看