EF与LINQ

1. EF跟LINQ不是一码事儿。

2. LINQ to EF是LINQ的一个provider,LINQ to SQL也是LINQ的一个provider。LINQ to EF是LINQ to SQL的替代产品,目前微软已经停止开发LINQ to SQL了,但是LINQ to SQL仍然有其用武之地。

3. LINQ是C#最优雅的特性,微软不可能放弃LINQ,除非开发出更优雅的可以替代LINQ的特性,否则放弃LINQ就等于放弃.NET。

时间: 2024-10-13 08:58:38

EF与LINQ的相关文章

Linq to EF 和 Linq to SQL 中间Linq 产生的SQL语句

一,Linq to EF using System; using System.Runtime.CompilerServices; using System.Linq; using System.Data; namespace EntityframeworkSQL { class Program { static void Main(string[] args) { using (CustomerEntities customerEntities = new CustomerEntities()

EF和linq to sql 关系

LINQ to SQL 允许你用任何类来代表数据库中的数据.表.同样的,EF也允许你用任何类来代表苏据库中的数据.表. 所不同的的地方是Linq to sql 用这些被修饰过的类直接同数据库打交道,存取数据. 但是EF的类则必须通过一个中间层(叫Entity Data Model, EDM)来和数据库打交道,存取数据. Linq 是查询语法,用于对内存里的对象集合或者数据库表进行查询:Linq to SQL 是针对SQL Server数据库设计的ORM(对象映射)方案:Entity Framew

EF和LINQ 调用存储过程

好久没有更新文章了,最近项目比较忙都没什么时间来分享最近的问题. 今天遇到一个超级傻逼的问题.C#中调用存储过程,自己code也10来年了,这应该是很简单的问题了.今天有2个新的api,一个只有1个参数, 一个有10多个参数,先前没有注意到对象类型, 以为是EF的DbContext,结果后来才发现是LINQ的DataContext对象.以前调用存储过程都是靠设计界面封装成方法. 现在designer界面有500多张表, 几年没有维护了,大家要修改什么东东都是直接改代码.所以这里以后台代码调用存储

【转】Linq to EF 与Linq to Object 使用心得

大家都知道Linq既可以用来查询数据库对象(我这里指的是Entity FrameWork里的Model对象),也可以用来查询内存中的IEnumerable对象. 两者单独查询时都不会出现什么问题,不过混合在一起时(一般是用关键字来join连接),要注意的地方就多着了. 情形1:Linq to Object 连接(join) Linq to Entity 我们首先来看这段代码:(注意:Linq代码里是把内存中的数据代码,也就是Linq to object放在join前面,数据库的数据代码放在joi

实战 EF(LINQ) 如何以子查询的形式来 Join

如题,大多数网上关于 LINQ Join 的示例都是以 from x in TableA  join ... 这样的形式,这种有好处,也有劣势,就是在比如我们使用的框架如果已经封装了很多方法,比如分页方法.而我们的业务方法只需要在 Service 层调用框架的分页方法,同时注入条件拼接的委托就可以了.而这时候,为了简单,就会以调用 Join() 方法来实现关联查询,外部看起来好像是子查询,而实际上 Entity Framework 生成 SQL 时,还是会以 Inner join 的形式来生成

APS.NET MVC + EF (01)---Linq和Lambda表达式

1.1 Linq介绍 LINQ全称 Language Integrated Query(语言集成查询).为我们提供一种统一的方式来查询和操作各种数据. LINQ to Object:是针对实现了IEnumerable<T>的对象的LINQ: LINQ to SQL:是针对关系数据库的LINQ: LINQ to XML:是针对XML文档的LINQ. LINQ除了提供一个统一的API来操作各种数据,并且为我们提供了编译时类型检查和动态创建查询表达式的能力. LINQ查询时有两种语法可供选择:查询表

EF查询 linq

Student.cs public int Id{get;set;} public string name{get;set;} SchoolContext.cs public class SchoolContext : DbContext { public SchoolContext() : base("SchoolContext") { } public DbSet<Student> BlogArt { get; set; } } 查询ID=1 SchoolContext

EF to linq 左连接

如果连接的数据不存在用 null 表示,则可以左连接查询,但是如果数据类型为 int 则会出错. var ng = (from g in _db.NET_NEWS_GROUP join z in _db.NET_NEWS_GROUP_INFO on g.NET_NEWS_GROUP_ID equals z.NET_NEWS_GROUP_ID into nglist from n in nglist.DefaultIfEmpty() select new { NET_NEWS_GROUP_ID =

应用开发之Linq和EF

上一章笔者对于WinForm开发过程用到的几个知识点做了讲解.笔者们可以以此为开端进行学习.而本章我们来讲一个跟ORM思想有关的知识点.在讲之前让我们想一下关于JAVA的hibernate知识点.hibernate也是ORM框架.记得hibernate里面有一个叫HQL.先不管HQL的好与坏.主要是明白HQL的目地是什么.ORM的思想就是为了让用户在操作数据的时候用上面向对象的思想来看,而不是二维数据了.所以HQL笔者认为就是一个面向对象思想的SQL语句.那么为什么笔者要讲到HQL呢?事实上笔者