from:http://www.cnblogs.com/Richeir/p/5347000.html
开始从头系统地学习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中加入连接字符串的设置项,例如
|
1
2
3
4
|
<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版本,顺便给你添加好引用(自动化一条龙服务,微软大法好)




- 接下来就是测试代码
123456789101112131415161718192021222324252627282930313233343536
/// <summary>/// EntityFramework Test : Code First/// </summary>/// <param name="args"></param>staticvoidMain(string[] args){using(varcontext =newMusicContext()){varcount = context.Albums.Count();Console.WriteLine(count);context.Albums.Add(newAlbum() { Price = 9.99M, Title ="Richeir"});context.SaveChanges();count = context.Albums.Count();Console.WriteLine(count);Console.ReadKey();}}publicclassAlbum{publicintAlbumId {get;set; }publicstringTitle {get;set; }publicdecimalPrice {get;set; }}publicclassMusicContext : DbContext{publicMusicContext() :base("LocalDB"){}publicDbSet<Album> Albums {get;set; }} - 成功运行后,就可以在SQL Server Management Studio中看到已经创建好的数据库、数据表,以及我们代码中添加的测试数据




以上就是一个比较完整的使用Entity Framework的示例,用起来还是比较方便的![]()
原文:https://www.cnblogs.com/liuqiyun/p/8507539.html


