1. //1.修改模型,重设数据库
  2. using System.Data.Entity;
  3. Database.SetInitializer<LisknoveDataContext>(newDropCreateDatabaseIfModelChanges<LisknoveDataContext>());
  4. //2.修改模型,重设数据库,并初始化数据
  5. using System.Data.Entity;
  6. public class LisknoveInitializer:DropCreateDatabaseIfModelChanges<LisknoveDataContext>
  7. {
  8. protected override void Seed(LisknoveDataContext context)
  9. {
  10. //base.Seed(context);
  11. var genre = new List<Genre>
  12. {
  13. new Genre{
  14. genreName="Marry"
  15. },
  16. new Genre{
  17. genreName="Weair"
  18. }
  19. };
  20. var material = new List<Material>
  21. {
  22. new Material{
  23. materialName="Stone"
  24. },
  25. new Material{
  26. materialName="Water"
  27. },
  28. new Material{
  29. materialName="Flooen"
  30. }
  31. };
  32. var ring = new List<Ring>
  33. {
  34. new Ring{
  35. ringName="MakeRing",
  36. price=17.21M,
  37. ringImage="ke.jpg",
  38. Genre=genre.Single(g=>g.genreName=="Marry"),
  39. Material=material.Single(m=>m.materialName=="Water")
  40. },
  41. new Ring{
  42. ringName="ForverRing",
  43. price=15.01M,
  44. ringImage="for.jpg",
  45. Genre=genre.Single(g=>g.genreName=="Marry"),
  46. Material=material.Single(m=>m.materialName=="Flooen")
  47. }
  48. };
  49. //genre.ForEach(g => context.Genres.Add(g));
  50. ring.ForEach(r => context.Rings.Add(r));//this way enough add data to database without genre
  51. and material to add to database.
  52. }
  53. }
  54. Database.SetInitializer<LisknoveDataContext>(new LisknoveInitializer());
  55. //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());
示例
  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; }
}
  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;}
}
  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;}
}
    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. namespace MvcApplication1.Controllers
    8. {
    9. public class HomeController : Controller
    10. {
    11. public string Index()
    12. {
    13. ViewBag.Message = "欢迎使用 ASP.NET MVC!";
    14. Database.SetInitializer<TestUsersDB>(new DropCreateDatabaseIfModelChanges<TestUsersDB>());
    15. var getName = 0;
    16. using(TestUsersDB context = new TestUsersDB()){
    17. var users = new UserInfo() { userName="xcl",age=23};
    18. context.UserInfoes.Add(users);
    19. context.SaveChanges();
    20. getName = (from c in context.UserInfoes where c.age > 0 select c.age).First();
    21. }
    22. return getName.ToString();
    23. //return View(getName);
    24. }
    25. public ActionResult About()
    26. {
    27. return View();
    28. }
    29. }
    30. }

Entity Framework(code first)数据库初始化的更多相关文章

  1. Asp.net Mvc Entity Framework Code First 数据库迁移

    1.创建Mvc项目 2.安装Entity Framework 2.1.如下图打开程序包管理器控制台: 2.2.输入命令Install-Package EntityFramework,即可安装Entit ...

  2. Entity Framework Code First数据库自动更新

    EF的Code First方式允许你先写Model,再通过Model生成数据库和表. 具体步骤如下: 1.建项目 2.在model文件夹中,添加一个派生自DbContext的类,和一些Model类. ...

  3. Entity Framework Code First数据库自动更新2

    以前做项目的时候,没有采用分类库的形式,所以迁移一致非常顺利,没有出现过任何状况. 这次做项目稍微有点大,必须要分类库才方便开发维护. 在解决方案中启用项目EntityFramework迁移时却发生了 ...

  4. Entity Framework Code First属性映射约定

    Entity Framework Code First与数据表之间的映射方式有两种实现:Data Annotation和Fluent API.本文中采用创建Product类为例来说明tity Fram ...

  5. 补习知识:Entity Framework Code First属性映射约定

    Entity Framework Code First与数据表之间的映射方式有两种实现:Data Annotation和Fluent API.本文中采用创建Product类为例来说明tity Fram ...

  6. Entity Framework Code First属性映射约定 转载https://www.cnblogs.com/libingql/p/3352058.html

    Entity Framework Code First属性映射约定   Entity Framework Code First与数据表之间的映射方式有两种实现:Data Annotation和Flue ...

  7. Entity Framework Code First数据库连接

    1. 安装Entity Framework 使用NuGet安装Entity Framework程序包:工具->库程序包管理器->程序包管理器控制台,执行以下语句: PM> Insta ...

  8. Entity Framework Code First数据库连接 转载 https://www.cnblogs.com/libingql/p/3351275.html

    Entity Framework Code First数据库连接   1. 安装Entity Framework 使用NuGet安装Entity Framework程序包:工具->库程序包管理器 ...

  9. Entity Framework Code First学习系列目录

    Entity Framework Code First学习系列说明:开发环境为Visual Studio 2010 + Entity Framework 5.0+MS SQL Server 2012, ...

随机推荐

  1. 好消息:Dubbo & Spring Boot要来了

    Duboo和Spring Boot都是非常优秀的框架,现在它们要结合了.为了简化Dubbo开发集成,阿里Dubbo团队将发布基于Spring Boot的版本,可快速上手Dubbo的分布式开发,并提供了 ...

  2. varnish(转http://www.ttlsa.com/nginx/varnish-4-configure-file/)

    2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 ...

  3. 关于a[::-1]

    b = a[i:j]   表示复制a[i]到a[j-1],以生成新的list对象,a[:]就相当于完整复制一份a b = a[i:j:s]表示:i,j与上面的一样,但s表示步进,缺省为1.即从i到j每 ...

  4. PAT L2-021. 点赞狂魔 /// sort+unique去重

    https://www.patest.cn/contests/gplt/L2-021 题目大意: 微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持.每篇博文都有一些刻画其特性的标签,而你点赞 ...

  5. 最短路(模板Dtra

    #include<iostream> #include<cstdio> #include<cstring> using namespace std; const i ...

  6. 如何收集项目日志统一发送到kafka中?

    上一篇(http://qindongliang.iteye.com/blog/2354381 )写了收集sparkstreaming的日志进入kafka便于后续收集到es中快速统计分析,今天就再写一篇 ...

  7. leetcode-219-存在重复元素②

    题目描述: 第一次提交:超时 class Solution: def containsNearbyDuplicate(self, nums: List[int], k: int) -> bool ...

  8. centos 下载并安装nodejs

    安装方法1——直接部署 1.首先安装wget ,这个一般都有自带有的,可能已经在系统里安装好了的. yum install -y wget 如果已经安装了可以跳过该步 2.下载nodejs最新的tar ...

  9. dos中文显示乱码怎么办?

    其实只需要一条命令 chcp 65001 执行该操作后,代码页就被变成UTF-8了 也可是GBK,  命令式:  chcp  936 2.修改窗口属性,改变字体 在命令行标题栏上点击右键,选择&quo ...

  10. Redis-GEO

    一. Redis的GEO特性 Redis3.2版本提供了GEO功能,支持存储地理位置信息用来实现诸如摇一摇,附近位置这类依赖于地理位置信息的功能.二. 命令2.1 增加地理位置信息 命令:geoadd ...