Entity Framework(code first)資料庫初始化

來源:互聯網
上載者:User
//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());
樣本
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; }}

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;}}

using System.Data.Entity;public class TestUsersDB : DbContext{    public DbSet<UserInfo> UserInfoes { get; set; }    public DbSet<Lesson> Lessons{get;set;}}

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;using System.Data.Entity;namespace MvcApplication1.Controllers{    public class HomeController : Controller    {        public string Index()        {            ViewBag.Message = "歡迎使用 ASP.NET MVC!";            Database.SetInitializer<TestUsersDB>(new DropCreateDatabaseIfModelChanges<TestUsersDB>());            var getName = 0;            using(TestUsersDB context = new TestUsersDB()){            var users = new UserInfo() { userName="xcl",age=23};                        context.UserInfoes.Add(users);            context.SaveChanges();            getName = (from c in context.UserInfoes where c.age > 0 select c.age).First();            }            return getName.ToString();            //return View(getName);        }        public ActionResult About()        {            return View();        }    }}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.