码迷,mamicode.com
首页 > Web开发 > 详细

MVC学习之 Code First

时间:2014-12-07 17:41:37      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   ar   color   sp   on   文件   数据   

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 = db.Student.ToList();
            return View();
        }

调用完成后,在你的App_Data文件夹中查看结果。

注意:如果要为字段赋值默认值。在默认构造函数中进行。

MVC学习之 Code First

标签:style   blog   io   ar   color   sp   on   文件   数据   

原文地址:http://www.cnblogs.com/q975261413/p/4149517.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!