Entity Framework(code first)数据库初始化
- //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.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.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.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.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();
- }
- }
- }
Entity Framework(code first)数据库初始化的更多相关文章
- Asp.net Mvc Entity Framework Code First 数据库迁移
1.创建Mvc项目 2.安装Entity Framework 2.1.如下图打开程序包管理器控制台: 2.2.输入命令Install-Package EntityFramework,即可安装Entit ...
- Entity Framework Code First数据库自动更新
EF的Code First方式允许你先写Model,再通过Model生成数据库和表. 具体步骤如下: 1.建项目 2.在model文件夹中,添加一个派生自DbContext的类,和一些Model类. ...
- Entity Framework Code First数据库自动更新2
以前做项目的时候,没有采用分类库的形式,所以迁移一致非常顺利,没有出现过任何状况. 这次做项目稍微有点大,必须要分类库才方便开发维护. 在解决方案中启用项目EntityFramework迁移时却发生了 ...
- Entity Framework Code First属性映射约定
Entity Framework Code First与数据表之间的映射方式有两种实现:Data Annotation和Fluent API.本文中采用创建Product类为例来说明tity Fram ...
- 补习知识:Entity Framework Code First属性映射约定
Entity Framework Code First与数据表之间的映射方式有两种实现:Data Annotation和Fluent API.本文中采用创建Product类为例来说明tity Fram ...
- Entity Framework Code First属性映射约定 转载https://www.cnblogs.com/libingql/p/3352058.html
Entity Framework Code First属性映射约定 Entity Framework Code First与数据表之间的映射方式有两种实现:Data Annotation和Flue ...
- Entity Framework Code First数据库连接
1. 安装Entity Framework 使用NuGet安装Entity Framework程序包:工具->库程序包管理器->程序包管理器控制台,执行以下语句: PM> Insta ...
- Entity Framework Code First数据库连接 转载 https://www.cnblogs.com/libingql/p/3351275.html
Entity Framework Code First数据库连接 1. 安装Entity Framework 使用NuGet安装Entity Framework程序包:工具->库程序包管理器 ...
- Entity Framework Code First学习系列目录
Entity Framework Code First学习系列说明:开发环境为Visual Studio 2010 + Entity Framework 5.0+MS SQL Server 2012, ...
随机推荐
- 初探分布式环境的指挥官ZooKeeper
目录 1. 从单机到集群,分布式环境中的挑战 1.1 集中式的特点 1.2 集中式的痛点 1.3 从单体到SOA的转变 1.4 分布式服务总体框架 1.5 分布式应用概述 2. ZK基本概念及核心原理 ...
- Markdown 语法大全
1 强调 星号与下划线都可以,单是斜体,双是粗体,符号可跨行,符号可加空格 **一个人来到田纳西** __毫无疑问__ *我做的馅饼 是全天下* _最好吃的_ 效果: 一个人来到田纳西 毫无疑问 我做 ...
- more指令和less指令使用的区别
more和less都是可以一页一页的翻动 more翻页的时候,显示有百分比在最下一行 less没有 more可以用来查询 空白键 (space):代表向下翻一页:Enter :代表向下翻『一行』:/字 ...
- 【笔记篇】斜率优化dp(二) SDOI2016征途
=======传=送=门======= 搜题目名会搜出很多奇怪的东西... 这个题目似乎有点毒? 比如在bzoj和loj上可以1A的代码上会在luogu TLE 2个点, 在cogs TLE 10个点 ...
- android Toast提示异常:java.lang.RuntimeException: Can't create handler inside thread that has not called
Toast只能在UI线程弹出,解决此问题可以在Toast前后加两行代码,如下所示: Looper.prepare(); Toast.makeText(getApplicationContext(),& ...
- 从服务器上下载下来的代码,部署到本地时,Url自动带www前缀
fix步骤: 1.网站根目录下,找到.htacess文件,有记事本打开 2.定位到 RewriteCond %{HTTP_HOST} . RewriteCond %{HTTP_HOST} !^www\ ...
- mysql Slave 启动失败
报错日志 Slave failed to initialize relay log info structure java程序访问日志显示事物查询失败,排查mysql 发现其中一台slave 启动状态 ...
- csps模拟93序列,二叉搜索树,走路题解
题面: 模拟93考得并不理想,二维偏序没看出来,然而看出来了也不会打 序列: 对a,b数列求前缀和,那么题意转化为了满足$suma[i]>=suma[j]$且$sumb[i]>=sumb[ ...
- C++利用动态数组实现顺序表(不限数据类型)
通过类模板实现顺序表时,若进行比较和遍历操作,模板元素可以通过STL中的equal_to仿函数实现,或者通过回调函数实现.若进行复制操作,可以采用STL的算法函数,也可以通过操作地址实现.关于回调函数 ...
- iserver中的服务数据迁移
今天需要将iserver测试服务器上的空间数据服务(数据源是Oracle Plus)迁移到客户的正式服务器,原想需要很大的工作量,其实是这样简单: 一.保证客户的iserver环境都已安装正确.对于o ...