当前位置:Gxlcms > 数据库问题 > Entity Framework(code first)数据库初始化

Entity Framework(code first)数据库初始化

时间:2021-07-01 10:21:17 帮助过:2人阅读

  • using System.Data.Entity;  
  •   
  • Database.SetInitializer<LisknoveDataContext>(newDropCreateDatabaseIfModelChanges<LisknoveDataContext>());  
  •   
  • //2.修改模型,重设数据库,并初始化数据  
  •     using System.Data.Entity;  
  •   
  •     public class LisknoveInitializer:DropCreateDatabaseIfModelChanges<LisknoveDataContext>  
  •     {  
  •         protected override void Seed(LisknoveDataContext context)  
  •         {  
  •             //base.Seed(context);  
  •             var genre = new List<Genre>  
  •             {  
  •                 new Genre{  
  •                     genreName="Marry"  
  •                 },  
  •                 new Genre{  
  •                     genreName="Weair"  
  •                 }  
  •             };  
  •   
  •             var material = new List<Material>  
  •             {  
  •                 new Material{  
  •                     materialName="Stone"  
  •                 },  
  •                 new Material{  
  •                     materialName="Water"  
  •                 },  
  •                 new Material{  
  •                     materialName="Flooen"  
  •                 }  
  •             };  
  •   
  •             var ring = new List<Ring>  
  •             {  
  •                 new Ring{  
  •                     ringName="MakeRing",  
  •                     price=17.21M,  
  •                     ringImage="ke.jpg",  
  •                     Genre=genre.Single(g=>g.genreName=="Marry"),  
  •                     Material=material.Single(m=>m.materialName=="Water")  
  •                 },  
  •                 new Ring{  
  •                     ringName="ForverRing",  
  •                     price=15.01M,  
  •                     ringImage="for.jpg",  
  •                     Genre=genre.Single(g=>g.genreName=="Marry"),  
  •                     Material=material.Single(m=>m.materialName=="Flooen")  
  •                 }  
  •             };  
  •   
  •             //genre.ForEach(g => context.Genres.Add(g));  
  •             ring.ForEach(r => context.Rings.Add(r));//this way enough add data to database without genre   
  •                                                                              and material to add to database.  
  •         }  
  •     }  
  •   
  • Database.SetInitializer<LisknoveDataContext>(new LisknoveInitializer());  
  • //1.修改模型,重设数据库
    using System.Data.Entity;
    
    Database.SetInitializer<LisknoveDataContext>(newDropCreateDatabaseIfModelChanges<LisknoveDataContext>());
    
    //2.修改模型,重设数据库,并初始化数据
        using System.Data.Entity;
    
        public class LisknoveInitializer:DropCreateDatabaseIfModelChanges<LisknoveDataContext>
        {
            protected override void Seed(LisknoveDataContext context)
            {
                //base.Seed(context);
                var genre = new List<Genre>
                {
                    new Genre{
                        genreName="Marry"
                    },
                    new Genre{
                        genreName="Weair"
                    }
                };
    
                var material = new List<Material>
                {
                    new Material{
                        materialName="Stone"
                    },
                    new Material{
                        materialName="Water"
                    },
                    new Material{
                        materialName="Flooen"
                    }
                };
    
                var ring = new List<Ring>
                {
                    new Ring{
                        ringName="MakeRing",
                        price=17.21M,
                        ringImage="ke.jpg",
                        Genre=genre.Single(g=>g.genreName=="Marry"),
                        Material=material.Single(m=>m.materialName=="Water")
                    },
                    new Ring{
                        ringName="ForverRing",
                        price=15.01M,
                        ringImage="for.jpg",
                        Genre=genre.Single(g=>g.genreName=="Marry"),
                        Material=material.Single(m=>m.materialName=="Flooen")
                    }
                };
    
                //genre.ForEach(g => context.Genres.Add(g));
                ring.ForEach(r => context.Rings.Add(r));//this way enough add data to database without genre 
                                                                                 and material to add to database.
            }
        }
    
    Database.SetInitializer<LisknoveDataContext>(new LisknoveInitializer());


  • 示例 [csharp] view plain copy   print?
    1. using System.Collections.Generic;  
    2. public class UserInfo  
    3. {  
    4.     public int UserInfoID { get; set; }  
    5.     public string userName { get; set; }  
    6.     public int age { get; set; }  
    7.     public virtual ICollection<Lesson> lessones { get; set; }  
    8. }  
    using System.Collections.Generic;
    public class UserInfo
    {
        public int UserInfoID { get; set; }
        public string userName { get; set; }
        public int age { get; set; }
        public virtual ICollection<Lesson> lessones { get; set; }
    }

     

    [csharp] view plain copy   print?
    1. using System.Collections;  
    2. using System.Collections.Generic;  
    3. public class Lesson {  
    4.     public int lessonID { get; set; }  
    5.     public string lessonName { get; set; }  
    6.     public string teacherName { get; set; }  
    7.     public virtual UserInfo UserInfo{get;set;}  
    8. }  
    using System.Collections;
    using System.Collections.Generic;
    public class Lesson {
        public int lessonID { get; set; }
        public string lessonName { get; set; }
        public string teacherName { get; set; }
        public virtual UserInfo UserInfo{get;set;}
    }

     

    [csharp] view plain copy   print?
    1. using System.Data.Entity;  
    2. public class TestUsersDB : DbContext  
    3. {  
    4.     public DbSet<UserInfo> UserInfoes { get; set; }  
    5.     public DbSet<Lesson> Lessons{get;set;}  
    6. }  
    using System.Data.Entity;
    public class TestUsersDB : DbContext
    {
        public DbSet<UserInfo> UserInfoes { get; set; }
        public DbSet<Lesson> Lessons{get;set;}
    }

     

    [csharp] view plain copy   print?
      1. using System;  
      2. using System.Collections.Generic;  
      3. using System.Linq;  
      4. using System.Web;  
      5. using System.Web.Mvc;  
      6. using System.Data.Entity;  
      7.   
      8. namespace MvcApplication1.Controllers  
      9. {  
      10.     public class HomeController : Controller  
      11.     {  
      12.         public string Index()  
      13.         {  
      14.             ViewBag.Message = "欢迎使用 ASP.NET MVC!";  
      15.   
      16.             Database.SetInitializer<TestUsersDB>(new DropCreateDatabaseIfModelChanges<TestUsersDB>());  
      17.             var getName = 0;  
      18.             using(TestUsersDB context = new TestUsersDB()){  
      19.             var users = new UserInfo() { userName="xcl",age=23};  
      20.               
      21.             context.UserInfoes.Add(users);  
      22.             context.SaveChanges();  
      23.   
      24.             getName = (from c in context.UserInfoes where c.age > 0 select c.age).First();  
      25.             }  
      26.             return getName.ToString();  
      27.             //return View(getName);  
      28.         }  
      29.   
      30.         public ActionResult About()  
      31.         {  
      32.             return View();  
      33.         }  
      34.     }  
      35. }  

    Entity Framework(code first)数据库初始化

    标签:

    人气教程排行