建立 Code First 資料庫

Step1 : 在 Models/ 下建立個別模型。


using System;
using System.Data.Entity;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace studyMvc.Models
{

    //-------------------------------------------------------------
    //
    // 資料表結構
    //
    //-------------------------------------------------------------
    public class Admin
    {
        [Key]
        public int Id { get; set; }
        public string Email { get; set; }
        public string Password { get; set; }
        public string Nickname { get; set; }
        public byte Sex { get; set; } 
        public string Photo { get; set; }
        public byte Role { get; set; }
        public byte Status { get; set; }
        public DateTime CreateDate { get; set; }
    }
}


Step2 : 在 Models/ModelContext.cs 建立模型產生檔(建立資料庫)。
using System;
using System.Data.Entity;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace studyMvc.Models
{
    public class ModelContext : DbContext
    {
        public ModelContext() : base("ModelContext") {}

        public DbSet Admins { get; set; }
    }
}


Step3 : 設定資料庫連線Web.config。
    
 <add connectionstring="Data Source=(LocalDb)\MSSQLLocalDB;
                            Initial Catalog=ModelContext;
                            Integrated Security=SSPI;
                            AttachDBFilename=C:\asp\repos\studyMvc\studyMvc\App_Data\ModelContext.mdf" name="ModelContext" providername="System.Data.SqlClient">


Step4 : 建立 Controller 檔進行觸發,若無資料表會自行建立。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using studyMvc.Models;

namespace studyMvc.Controllers
{
    public class AdminController : Controller
    {
        private ModelContext db = new ModelContext();

        // GET: Admin
        public ActionResult Index()
        {
            Admin ad = new Admin();
            ad.Email    = "admin@ymail.com";
            ad.Password = "a1234567";
            ad.Nickname = "管理員";
            ad.CreateDate = DateTime.Now;

            db.Admins.Add(ad);
            db.SaveChanges();

            return View();
        }
    }
}


Step5 : 完成,這時會在App_Data/下找到已建立完成的資料表。


參考: Creating Code First Database in just 4 minutes || Asp MVC Few Easy Steps

留言

這個網誌中的熱門文章

localDB 預設路徑

第一個專案頁面