Entity Framework 学习笔记(1)
2024-08-27 07:02:32
开始从头系统地学习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的示例,用起来还是比较方便的
最新文章
- 高性能 TCP &; UDP 通信框架 HP-Socket v3.4.1
- Windows下设置自动关机命令
- mysql 之基本操作
- Redis设计与实现-持久化篇
- php nginx fastdfs 下载文件重命名
- zoj 1149 Dividing
- linker command failed with exit code 1 (use -v to see
- layui动态设置下拉框数据,根据后台数据设置选中
- 【Webpack的使用指南 01】Webpack入门
- Java基本语法-----java注释
- GMA Round 1 相交
- JDK并发包总结
- python_面向对象魔法方法指南
- bzoj1613 / P1353 [USACO08JAN]跑步Running
- [译文]Casperjs1.1.0参考文档-快速开始
- 集合框架(04)HashMap
- 洛谷——1968 美元汇率(DP)
- TI C66x DSP 四种内存保护问题 -之- 针对CPU訪问外存(DDR3 or MSM)时的内存保护问题 - 举例
- Hadoop安全
- tomcat中如何禁止和允许主机或地址访问
热门文章
- 两个简单方法加速DataGridView
- ecshop数据库表结构
- centos上安装jdk环境
- oracle查询前10条记录
- Zmodem transfer canceled by remote side
- Codeforces Round #200 (Div. 1)D. Water Tree dfs序
- [置顶] 用Wireshark保存RTP的负载码流
- 《RESTful Web Services》第二章 识别资源
- mysql中不同事务隔离级别下数据的显示效果--转载
- c++下new与delete基础用法