开始从头系统地学习Entity Framework,当前的稳定版本为6.1.3,Nuget主页 http://www.nuget.org/packages/EntityFramework/

微软喜欢把Entity Framework和ASP.NET MVC放在一起来用,从Entity Framework的主页的所有者就可以看出来

当然,这两者也是紧密的结合在一起的,“新一代”Web开发框架和“新一代”的数据库ORM框架,结合起来用确实很舒服,和WebForm开发有很大的差别


Entity Framework的使用方式主要有三种:

  1. Code First
  2. Modle First
  3. 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”

  1. 先创建一个测试用的Console Application项目

  2. 然后使用Visual Studio中的Package Manager Console来安装Entity Framework
  3. 在Entity Framework的项目主页,就可以很容易看到安装时候需要输入的命令。在Package Manager Console中输入Install-Package EntityFramework,回车键之后,就可以自动安装上最新的、稳定版的Entity Framework,而且自动匹配项目本身的.NET Framework版本,顺便给你添加好引用(自动化一条龙服务,微软大法好)

  4. 接下来就是测试代码
            /// <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; }
    }
  5. 成功运行后,就可以在SQL Server Management Studio中看到已经创建好的数据库、数据表,以及我们代码中添加的测试数据


以上就是一个比较完整的使用Entity Framework的示例,用起来还是比较方便的

Entity Framework 学习笔记(1)的更多相关文章

  1. Entity Framework 学习笔记(2)

    上期回顾:Entity Framework 学习笔记(1) Entity Framework最主要的东西,就是自己创建的.继承于DbContext的类: /// <summary> /// ...

  2. Entity Framework学习笔记

    原文地址:http://www.cnblogs.com/frankofgdc/p/3600090.html Entity Framework学习笔记——错误汇总   之前的小项目做完了,到了总结经验和 ...

  3. ADO.NET Entity Framework学习笔记(3)ObjectContext

    ADO.NET Entity Framework学习笔记(3)ObjectContext对象[转]   说明 ObjectContext提供了管理数据的功能 Context操作数据 AddObject ...

  4. Entity Framework学习笔记——错误汇总

    之前的小项目做完了,到了总结经验和更新学习笔记的时间了.开始正题之前先啰嗦一下,对之前的学习目标进行一个调整:“根据代码生成表”与“生成数据库脚本和变更脚本”合并为“Code First模式日常使用篇 ...

  5. Entity Framework学习笔记——记一个错误解决方式及思路

    继续之前设定的学习目标前,先来一篇小小的外篇.按照第一篇里的配置方式配置好的工程前两天还能正常工作,昨天却突然无法通过Add-Migration命令进行数据库的升级.错误信息如下: System.Da ...

  6. Entity Framework学习笔记——配置EF

    初次使用Entity Framework(以下简称EF),为了避免很快忘记,决定开日志记录学习过程和遇到的问题.因为项目比较小,只会用到EF的一些基本功能,因此先在此处制定一个学习目标:1. 配置EF ...

  7. Entity Framework学习笔记(四)----Linq查询(1)

    请注明转载地址:http://www.cnblogs.com/arhat 从本章开始,老魏就介绍一下Entity Framework使用Linq来查询数据,也就是Linq To Entity.其实在E ...

  8. Entity Framework学习笔记(三)----CRUD(2)

    请注明转载地址:http://www.cnblogs.com/arhat 昨天晚上老魏配的机器终于到了,可是拿回来之后什么都组装好了,唯独差一个非常重要的组件"电源线",老魏那个汗 ...

  9. Entity Framework学习笔记(二)----CRUD(1)

    请注明转载地址:http://www.cnblogs.com/arhat 这篇文章老魏和大家分享一下Entity Framework的CRUD操作,在这之前呢,老魏先说一下老魏对EF的一个整体的认识, ...

  10. Entity Framework学习笔记(一)

    请注明转载地址:http://www.cnblogs.com/arhat 哈哈!老魏回来了,4月份的内容开始更新了,由于3月份时间都在做项目,没有时间写了,那么4月份老魏会尽可能的多写点东西的.那么4 ...

随机推荐

  1. JS基础DOM篇之一:何为DOM?

    近日在园子看了一篇文章,一位前端负责人问应聘者何为DOM事件流的三个阶段,我当时一看也是懵圈,于是强迫症复发,遂想要搞清楚它.谁知在查资料的过程中发现有好多关于DOM的概念也是模糊不清,便决定继续延伸 ...

  2. 原生js操作cookie

    写cookie function setCookie(name,value) { var Days = 30; var exp = new Date(); exp.setTime(exp.getTim ...

  3. 禁止UINavigationController 左滑 返回的效果

    在iOS7中,新增加了一个小小的功能,也就是这个:self.navigationController.interactivePopGestureRecognizer.enabled = YES;

  4. Java Singleton 单例模式

    大家可能还听过 Singleton  也就是单例模式 这个单例模式要求 在程序的运行时候   一个程序的某个类 只允许产生一个 实例 那么 这个类就是一个单例类 Java Singleton模式主要作 ...

  5. [Java][Android][Process] 暴力的服务能够解决一切,暴力的方式运行命令行语句

    不管是在Java或者Android中运行命令行语句殊途同归都是创建一个子进程运行调用可运行文件运行命令.类似于Windows中的CMD一样. 此时你有两种方式运行:ProcessBuilder与Run ...

  6. uboot中gd的定义和使用

    近期在做uboot中nand启动相关的工作,遇到一个问题一直纠结着.如今最终明确了这个问题,想想还有好多兄弟在某个黑暗的角落里或者某台电脑前纠结着呢,所以赶紧写下来以供查阅. uboot versio ...

  7. Android View的绘制机制流程深入详解(二)

    本系列文章主要着重深入介绍Android View的绘制机制及流程,第二篇主要介绍并分析Android视图的绘制的原理和流程.主要从 onMeasure().onLayout()和onDraw()这三 ...

  8. CSS3 旋转的八卦图

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. UILabel 自动换行 和支持换行符

    这个主要是 lable对\n换行符号的支持,有的时候我们从网页或者后台拿到的数据需要处理一下: 这里没什么要说的,注意两点,一个是label的numofline属性的值要为0 或者不能为1  这样la ...

  10. Apache配置虚拟主机后,不能访问localhost的问题

    今天想试用一下php7,但是发现php7只支持Apache2.4版本,而我电脑上的Apache是2.2版本,为了想尝鲜,就必须去下载新的Apache2.4 php7和apache2.4安装整合以后,l ...