之前一直用sql选择出数据放在一个集合中,然后再用Linq或者lambda去操作数据,今天学了Linq to entity 才知道原来linq产生是为了Entity。也就是EDM(实体数据模型)

关于EDM,个人觉得这篇博文写的不错:http://www.cnblogs.com/wyqlijin/archive/2011/02/25/1964934.html 这位仁兄的系列文章将的比较详细,高深!

我们创建完ADO.Net Data Entity之后就可以再vs中直接操作数据表和字段了

下面是第一个程序:

正如注释所言:我们创建完EDM后会新建一个model.edmx模型,改模型中有两个部分

1.上下文  2.实体。  上下文继承自ObjectContext 实体继承自EntityObjecthttp://www.cnblogs.com/fjsnail/p/3227683.html参考这篇

public void LinqToEntityTest()
{
studyEntities2 study = new studyEntities2(); //studyEntities2上下文类名,创建objectEntity(studyEntities2)的实例
//有关EDM 参考http://www.cnblogs.com/wyqlijin/archive/2011/02/25/1964934.html
var queryResult = from item in study.Customer //study.Customer相当于取得整个表
where item.Country == "USA"
select new { name = item.ContactName, country = item.Country }; Console.WriteLine("----------------LinqToEntity----------------");
foreach (var item in queryResult)
{
Console.WriteLine(item);
} }

  使用LINQ to Entities类的第一步是为要访问的数据库创建ObjectContext对象的一个实例,ObjectContext是在数据源中创建的.edmx 文件的编译类。这个对象是数据库的网关,提供了在程序中控制它的所有方法。它还是创建业务对象的工厂,业务对象对应于数据库中存储的概念化实体(例如,顾客和产品)。
在项目中,数据上下文类称为StudyEntilies2,从Model1.edmx文件中编译。LinqToEntityTest()方法的第一个操作是创建studyEntities2的一个实例,如下所示:
 studyEntities2 study = new studyEntities2();    
在“选择数据库对象”(Choose Your Database Objects)窗格中选择Customers表时,会把Customer对象添加到Model1.edmx的LINQ to Entities类中,并把Customers成员添加到StudyEntilies2对象中,以查询Northwind数据库中的Customer对象。实际的LINQ查询语句把northWindEntities的Customers成员用作数据源,建立查询。

Linq学习<三> linq to entity的更多相关文章

  1. linq学习三个实例

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  2. Linq学习<四> linq to XML

    LINQ to XML并不打算替代标准的XML API,例如,XML DOM(Document Object Model).Path.XQuery和XSLT等.如果熟悉这些API或当前需要使用或学习它 ...

  3. Linq学习(三)-基本查询

    一.本将主要介绍内容 从linq,sql,lambda三个角度比较来学习 select.orderby.分页.group by.distinct.子查询.in的用法 1.select 查询用户和它们的 ...

  4. Linq学习笔记---Linq to Xml操作

    LINQ to XML的成员, 属性列表: 属性 说明 Document 获取此 XObject 的 XDocument  EmptySequence  获取空的元素集合  FirstAttribut ...

  5. Linq学习笔记---Linq to Sql之where

    http://kb.cnblogs.com/page/42465/ Where操作 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断 ...

  6. C# LINQ学习笔记三:LINQ to OBJECT之操作字符串

    本笔记摘抄自:https://www.cnblogs.com/liqingwen/p/5814204.html,记录一下学习过程以备后续查用. 一.统计单词在字符串中出现的次数 请注意,若要执行计数, ...

  7. linq学习笔记

    最近在学习linq的一些基础知识,看了c#高级编程及阅读了园子内部几篇优秀的博文,有所体会,感觉应该记录下来,作为以后复习使用.都是一些最基础的知识,大致分为三个部分:linq预备知识:linq查询: ...

  8. LINQ 学习笔记(1)

    学习资源参考 : http://www.cnblogs.com/lifepoem/archive/2011/12/16/2288017.html 常用方法是 Where, OrderBy, Selec ...

  9. LINQ to XML LINQ学习第一篇

    LINQ to XML LINQ学习第一篇 1.LINQ to XML类 以下的代码演示了如何使用LINQ to XML来快速创建一个xml: public static void CreateDoc ...

随机推荐

  1. 前端后端json技术整理

    前端: json对象,例如 var data = { c:, person:[ {name:}, {name:}, {name:}, {name:}, {name:} ] }; 转化为,json串 J ...

  2. 题目1539:师弟 ——最短路+DFS

    题意::从起点到终点的所有的最短路中,找出离终点有X个路口的城市一共有几个 开始我用最短路+DFS从起点开始搜,超时了 换了一种方法,从终点开始搜,AC #include<stdio.h> ...

  3. CAN总线过载帧

    过载帧 过载帧与主动错误帧具有相同的格式.但是,过载帧只能在帧间间隔产生,因此可通过这种方式区分过载帧和错误帧(错误帧是在帧传输时发出的).过载帧由两个字段组成,即过载标志和随后的过载定界符.过载标志 ...

  4. MAC 10.6 64wei

    苹果电脑 Mac OS X 10.6 雪豹系统同时支持 32 位和 64 位模式,关于开启 64 位的好处,字太多,本文后半段介绍.下面先说查看你的苹果电脑是否开启了 64 位以及设置苹果电脑 Mac ...

  5. 什么是闭包?在js中的作用是什么?

    闭包就是讲函数内部生成的变量保存到内存中,进行下次调用:也可以说函数外不可以调用函数内部的变量: 当函数内部返回一个函数时,闭包搭建了方法内部与方法外部的桥梁,使得外部也可以任意的获取到方法内部的资源 ...

  6. rpm --import /etc/pki/rpm-gpg/RPM* 有什么用?

      今天用yum安装软件,遇到了Could not open/read file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL问题,为了加深印象,特别搜索了RPM-GPG-K ...

  7. python利用scapy模块写一个TCP路由追踪和扫描存活IP的脚本

    前言: 没有前言 0x01 from scapy.all import * import sys from socket import * import os from threading impor ...

  8. Postgresql VACUUM COPY等

    1.VACUUM VACUUM回收dead tuples占用的存储空间. 在一般的PostgreSQL操作中,被update操作删除或废弃的元组不会从物理表中删除; 它们一直存在,直到执行VACUUM ...

  9. linux信号量使用

    #include <pthread.h> #include <semaphore.h> #include <unistd.h> #include <stdio ...

  10. 转gif图

    用QQ影音截取影片 + Ulead GIF Animator510编辑.