开始从头系统地学习Entity Framework,当前的稳定版本为6.1.3,Nuget主页 http://www.nuget.org/packages/EntityFramework/
微软喜欢把Entity Framework和ASP.NET MVC放在一起来用,从Entity Framework的主页的所有者就可以看出来
当然,这两者也是紧密的结合在一起的,“新一代”Web开发框架和“新一代”的数据库ORM框架,结合起来用确实很舒服,和WebForm开发有很大的差别
Entity Framework的使用方式主要有三种:
- Code First
- Modle First
- Database First
从单词中就可以体会到这三种方式的主要内容,接下来先从Code First开始
首先测试用数据库使用的是SQL Server LocalDB,LocalDB用来做大量、反复的数据库创建、删除,非常适合,在SQL Server Management Studio的服务器名称中输入
(LocalDb)\MSSQLLocalDB
就可以登陆到LocalDB(如果LocalDB的版本是11.0,服务器名称为 (LocalDb)\v11.0 )
项目中如果使用LocalDB,那么就需要在Web.config或者App.config中加入连接字符串的设置项,例如
<connectionStrings> <!--数据库连接--> <add name="LocalDB" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;Initial Catalog=EntityFrameworkTest;Persist Security Info=True;" providerName="System.Data.SqlClient" /> </connectionStrings>
接下来就先写一个Entity Framework的完整的“Hello Word”
- 先创建一个测试用的Console Application项目
- 然后使用Visual Studio中的Package Manager Console来安装Entity Framework
- 在Entity Framework的项目主页,就可以很容易看到安装时候需要输入的命令。在Package Manager Console中输入Install-Package EntityFramework,回车键之后,就可以自动安装上最新的、稳定版的Entity Framework,而且自动匹配项目本身的.NET Framework版本,顺便给你添加好引用(自动化一条龙服务,微软大法好)
- 接下来就是测试代码
/// <summary> /// EntityFramework Test : Code First /// </summary> /// <param name="args"></param> static void Main(string[] args) { using (var context = new MusicContext()) { var count = context.Albums.Count(); Console.WriteLine(count); context.Albums.Add(new Album() { Price = 9.99M, Title = "Richeir" }); context.SaveChanges(); count = context.Albums.Count(); Console.WriteLine(count); Console.ReadKey(); } } public class Album { public int AlbumId { get; set; } public string Title { get; set; } public decimal Price { get; set; } } public class MusicContext : DbContext { public MusicContext() : base("LocalDB") { } public DbSet<Album> Albums { get; set; } }
- 成功运行后,就可以在SQL Server Management Studio中看到已经创建好的数据库、数据表,以及我们代码中添加的测试数据
以上就是一个比较完整的使用Entity Framework的示例,用起来还是比较方便的