首页 > 代码库 > MVC学习之 Code First
MVC学习之 Code First
Code First 代码优先。
上代码:
新建你需要的数据模型(也可以认为是你需要的数据表):
namespace CodeFirstDemo.Models{ public class Student { public int Id { get; set; } public string Name { get; set; } } public class Teacher { public int Id { get; set; } public string Name { get; set; } }}
新建CodeFirstDB类,继承自DbContext类。(注意引入System.Data.Entity命名空间的引用):
namespace CodeFirstDemo.Models{ public class CodeFirstDB:DbContext { public DbSet<Student> Student { get; set; } public DbSet<Teacher> Teacher { get; set; } }}
数据库创建:
1.播种数据库。
2.为了保证数据库与模型同步(暂不考虑数据迁移的问题),在程序启动每次启动时重新创建数据库(仅当检测到模型改变时创建)
protected void Application_Start() { //当程序每次启动时,检测到模型改变则重新创建数据库 Database.SetInitializer(new CodeFirstDemo()); AreaRegistration.RegisterAllAreas(); WebApiConfig.Register(GlobalConfiguration.Configuration); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); AuthConfig.RegisterAuth(); }
/// <summary> /// 播种数据库 /// </summary> public class CodeFirstDemo : DropCreateDatabaseAlways<CodeFirstDB> { protected override void Seed(CodeFirstDB context) { context.Student.Add(new Student { Id = 1, Name = "小明" }); context.Teacher.Add(new Teacher { Id = 1, Name = "老王" }); base.Seed(context); } }
程序调用:
public ActionResult Index() { CodeFirstDB db = new CodeFirstDB(); ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application."; var data =http://www.mamicode.com/ db.Student.ToList(); return View(); }
调用完成后,在你的App_Data文件夹中查看结果。
注意:如果要为字段赋值默认值。在默认构造函数中进行。
MVC学习之 Code First
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。