使用asp.net mvc + entityframework + sqlServer 搭建一個簡單的code first項目


步驟:

1. 創建一個asp.net mvc 項目

 

1.1 項目創建好結構如下

2 通過vs安裝EntityFramework框架

install-package entityframework

 

 3. 創建一個繼承DBContext的 MyContext類,並引用命名空間  using System.Data.Entity;

 

3.2 創建一個構造函數,並且實現OnModelCreating方法

public class MyContext:DbContext
{
  public MyContext() : base("Data Source=.;Initial Catalog=test;Integrated Security=True") { } // 注:這是連接sqlserver字符串,具體到時候可以放在配置文件中

  protected override void OnModelCreating(DbModelBuilder modelBuilder)
  {
    base.OnModelCreating(modelBuilder);
  }
}

 

 

4. 創建一個person模型實體類,這個的字段要和表的字段對應,也就是說你希望將來表中有哪些類型的字符,那么就在這個類中定義好這些類型字段

(這里為了簡便我就定義兩個字符)

public class Person
{
  public int Id { get; set; }  // 使用codefirst這個字符會幫我實現默認自動增長
  public string Name { get; set; }
}

 

 

 

 5. 在MyContext中將這個實體模型類添加進去,以便將來與數據庫中的表對應解析

 public DbSet<Person> Persons { get; set; }

 

 

 

6. 創建一個繼承EntityTypeConfiguration的PersonConfig類,用於配置,具體實現如下:

引用命名空間 using System.Data.Entity.ModelConfiguration;

public class PersonConfig:EntityTypeConfiguration<Person>
{
  public PersonConfig()
  {
    this.ToTable("Persons"); // 這是代表將來數據庫中表的名字
  }
}

 

 

 

 

 7. 在Mycontext中的OnModelCreating添加下面代碼 ,並引用命名空間 using System.Reflection;

modelBuilder.Configurations.AddFromAssembly(Assembly.GetExecutingAssembly());

 

 

 

 

 

8 創建一個Home控制器,添加一個數據測試下

 

 

public class HomeController : Controller
{
    // GET: Home
    public ActionResult Index()
    {
        using (MyContext ctx = new MyContext())
        {
            Person p = new Person();
            p.Name = "yjc";
            ctx.Persons.Add(p);

            ctx.SaveChanges();
        }
        return Content("添加成功");
    }
}                            

 

 

 

 

 

9 打開SQL server查看

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM