Entityframework(以下簡稱EF)是微軟推出的一個ORM(Object Relational Mapping)框架。
優缺點
優點:
易上手,語法簡單,查詢容易
更新快,不斷補足
缺點:
性能問題,查詢速度偏慢,不過隨着EF6的推出,查詢速度進行了很多優化
Code First
EF提供了多種映射模式,比如說Database First、Model First、Code First。由於本系列主要使用Code First,因此其他兩種不做詳細描述。有興趣的可以去官網查看。
新建項目
首先新建一個控制台應用程序:MLS.CodeFirst,如下圖:
然后我們需要安裝EF程序包,輸入命令 Install-Package EntityFramework,如下圖:
這時我們可以定義實體類了,我們模擬公司、員工,定義兩個實體類:
Company:

1 public class Company 2 { 3 public long Id { get; set; } 4 5 [DisplayName("名稱"),Required,StringLength(50)] 6 public string Name { get; set; } 7 8 [DisplayName("描述")] 9 public string Descript { get; set; } 10 }
Employee:

1 public class Employee 2 { 3 public long Id { get; set; } 4 5 public long CompanyId { get; set; } 6 7 [DisplayName("名稱"),Required,StringLength(50)] 8 public string Name { get; set; } 9 10 public Gender Gender { get; set; } 11 public int Height { get; set; } 12 public decimal Weight { get; set; } 13 }
MLSContext:

1 public class MLSContext:DbContext 2 { 3 public MLSContext() : base("name=MLSContext") { } 4 5 public virtual DbSet<Company> Company { get; set; } 6 7 public virtual DbSet<Employee> Employee { get; set; } 8 9 protected override void OnModelCreating(DbModelBuilder modelBuilder) 10 { 11 base.OnModelCreating(modelBuilder); 12 } 13 }
注意這里指定的“name=MLSContext”,所以我們需要在App.Config里面添加數據庫鏈接:

1 <connectionStrings> 2 <add name="MLSContext" connectionString="data source=.\MSSQLSERVER2012;initial catalog=MLS.CodeFirst;user id=admin;password=admin;multipleactiveresultsets=True;application name=EntityFramework" providerName="System.Data.SqlClient" /> 3 </connectionStrings>
這時候我們可以在Main函數里面坐下測試,是否可以增刪改查了。

1 class Program 2 { 3 static void Main(string[] args) 4 { 5 using (var ctx = new MLSContext()) 6 { 7 var company = new Company() 8 { 9 Name = "北琳網絡有限公司", 10 Descript = "It's a good Company." 11 }; 12 ctx.Company.Add(company); 13 ctx.SaveChanges(); 14 } 15 } 16 }
運行程序,執行代碼后,我們可以看到數據庫里面已經有了對應的表:
並且數據已經插入:
到此項目已經搭建好,至於后面的維護會在接下來的文章講解。
源碼地址:http://files.cnblogs.com/files/Kingdizzy/MLS.CodeFirst.rar