一、EF Code First简介EntityFramework 代码优先 二、EF Code First第一个简单实例1、开发环境及数据库说明开发环境:Visual Studio 2010 Ultimate sp1 Sql Server 2008 R2数据库:Northwind2、实例代码结构结构说明:App:控制台应用程序Data:数据访问Domain:实体类3、安装Entity Framework 在Visual Studio编辑器中点击Tools -> Library Package Manager -> Package Manager Console,在Package Manager Console窗口中执行下面语句,安装最新版Entity Framework。PM> Install-Package EntityFramework
App层和Data层分别添加对EntityFramework的引用: 在App层安装EntityFramework之后,将自动添加App.config和packages.config文件。 App.config配置Entity Framework版本信息及数据库连接信息,修改其中数据连接信息以适应本地实际环境。 1 <?xml version="1.0" encoding="utf-8"?> 2 <configuration> 3 <configSections> 4 <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> 5 <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.3.1.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 6 </configSections> 7 <entityFramework> 8 <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework"> 9 <parameters> 10 <!--<parameter value="Data Source=(localdb)\v11.0; Integrated Security=True; MultipleActiveResultSets=True" />--> 11 <parameter value="Data Source=(local); User ID=sa; Password=; MultipleActiveResultSets=True" /> 12 </parameters> 13 </defaultConnectionFactory> 14 </entityFramework> 15 </configuration>
packages.config现实当前项目使用的package:1 <?xml version="1.0" encoding="utf-8"?> 2 <packages> 3 <package id="EntityFramework" version="4.3.1" /> 4 </packages>
4、实例代码Domain中Category.cs 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 namespace Northwind.Domain.Entities 7 { 8 public class Category 9 { 10 /// <summary> 11 /// 分类ID 12 /// </summary> 13 public int CategoryID { get; set; } 14 15 /// <summary> 16 /// 分类名称 17 /// </summary> 18 public string CategoryName { get; set; } 19 } 20 }
Data中NorthwindContext.cs 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 using System.Data.Entity; 7 8 using Northwind.Domain.Entities; 9 10 namespace Northwind.Data 11 { 12 public class NorthwindContext : DbContext 13 { 14 public DbSet<Category> Categories { get; set; } 15 } 16 }
App中Program.cs 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 using Northwind.Data; 7 using Northwind.Domain.Entities; 8 9 namespace Northwind.App 10 { 11 class Program 12 { 13 static void Main(string[] args) 14 { 15 Category c = new Category() { CategoryName = "电子数码" }; 16 17 using (NorthwindContext db = new NorthwindContext()) 18 { 19 db.Categories.Add(c); 20 db.SaveChanges(); 21 } 22 23 Console.WriteLine("Finish"); 24 Console.ReadKey(); 25 } 26 } 27 }
5、运行说明 由于在上面的数据库连接字符串中并未包含指定的数据库名称,运行成功之后,将在本地数据引擎中创建如下数据库和表: 数据库名称:Northwind.Data.NorthwindContext 表名称:Categories6、示例代码附件
评论