Entity Framework 学习笔记(1)
开始从头系统地学习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的示例,用起来还是比较方便的
Entity Framework 学习笔记(1)的更多相关文章
- Entity Framework 学习笔记(2)
上期回顾:Entity Framework 学习笔记(1) Entity Framework最主要的东西,就是自己创建的.继承于DbContext的类: /// <summary> /// ...
- Entity Framework学习笔记
原文地址:http://www.cnblogs.com/frankofgdc/p/3600090.html Entity Framework学习笔记——错误汇总 之前的小项目做完了,到了总结经验和 ...
- ADO.NET Entity Framework学习笔记(3)ObjectContext
ADO.NET Entity Framework学习笔记(3)ObjectContext对象[转] 说明 ObjectContext提供了管理数据的功能 Context操作数据 AddObject ...
- Entity Framework学习笔记——错误汇总
之前的小项目做完了,到了总结经验和更新学习笔记的时间了.开始正题之前先啰嗦一下,对之前的学习目标进行一个调整:“根据代码生成表”与“生成数据库脚本和变更脚本”合并为“Code First模式日常使用篇 ...
- Entity Framework学习笔记——记一个错误解决方式及思路
继续之前设定的学习目标前,先来一篇小小的外篇.按照第一篇里的配置方式配置好的工程前两天还能正常工作,昨天却突然无法通过Add-Migration命令进行数据库的升级.错误信息如下: System.Da ...
- Entity Framework学习笔记——配置EF
初次使用Entity Framework(以下简称EF),为了避免很快忘记,决定开日志记录学习过程和遇到的问题.因为项目比较小,只会用到EF的一些基本功能,因此先在此处制定一个学习目标:1. 配置EF ...
- Entity Framework学习笔记(四)----Linq查询(1)
请注明转载地址:http://www.cnblogs.com/arhat 从本章开始,老魏就介绍一下Entity Framework使用Linq来查询数据,也就是Linq To Entity.其实在E ...
- Entity Framework学习笔记(三)----CRUD(2)
请注明转载地址:http://www.cnblogs.com/arhat 昨天晚上老魏配的机器终于到了,可是拿回来之后什么都组装好了,唯独差一个非常重要的组件"电源线",老魏那个汗 ...
- Entity Framework学习笔记(二)----CRUD(1)
请注明转载地址:http://www.cnblogs.com/arhat 这篇文章老魏和大家分享一下Entity Framework的CRUD操作,在这之前呢,老魏先说一下老魏对EF的一个整体的认识, ...
- Entity Framework学习笔记(一)
请注明转载地址:http://www.cnblogs.com/arhat 哈哈!老魏回来了,4月份的内容开始更新了,由于3月份时间都在做项目,没有时间写了,那么4月份老魏会尽可能的多写点东西的.那么4 ...
随机推荐
- GMT-Note 基本参数详细说明
http://blog.sciencenet.cn/blog-381041-897592.html 控制经纬度标示中是否带N或者W PLOT_DEGREE_FORMAT = ddd:mm:ss ...
- Castle IOC FOR MVC 使用方法
Castle Web.API 使用方法 一.创建 WindsorActivator 继承 IHttpControllerActivator public class WindsorActivator ...
- Python 对新浪微博的博文元素 (Word, Screen Name)的频率分析
CODE: #!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-7-9 @author: guaguastd @name: we ...
- 使用RecyclerView写树形结构的TreeRecyclerView
简单介绍 android是不提供树形控件的,假设须要使用树形控件.我们应该怎么做呢? 先看效果 上图是一个明显的树形结构 实现原理 在逻辑上,它们是包括关系.数据结构上是多叉树,这是毋庸置疑的. 可是 ...
- javascript 递归之 快速排序
1. 快速排序思想 (1)在数据集之中,选择一个元素作为"基准"(pivot). (2)所有小于"基准"的元素,都移到"基准"的左边:所有大 ...
- 初学Node.js第一天
最近开始下班到家不知道该做啥,因为水平太菜,要学的东西实在太多,反而陷入了不知道该学什么的困境,结果天天就是看别人的博客,看到什么标题比较感兴趣就点进去,没有一个目标. 今天突然兴起,决定要捣鼓捣鼓N ...
- php常用系统函数
首先纯html页要用meta标签声明编码 <meta http-equiv="Content-Type" content="text/html; charset ...
- [COCOS2DX]COCOS命令新建项目+编译安卓项目并成功运行
全程搭建过程参考网址: http://blog.csdn.net/lengxue789/article/details/38116475 http://blog.csdn.net/cbbbc/arti ...
- check_area
CCTouch* pTouch = ...; CCSprite* pSprite = ...; CCRect rect = pSprite ->boundingBox(); if ((& ...
- app卡顿问题检测--KMCGeigerCounter
介绍: KMCGeigerCounter是一个iOS帧速计算器,像盖革计数器那样,当动画丢失一帧时它就记录一次.掉帧通常是不可见的,但是很难区分55fps和60fps之间的不同,而KMCGeigerC ...