var s1 = context.Student.Where(o => o.ID >  && o.Name != "")
.OrderByDescending(o => o.ID)
.OrderBy(o => o.Name)
.Select(o => new { o.Name, o.Class });
s1 = from s in context.Student
where s.ID > && s.Name != ""
orderby s.ID descending, s.Name ascending
select new { s.Name, s.Class };

两者是相等的。

使用 IEnumerable<T> 与用 IQueryable<T> 不同,

都有延迟加载,但前者会在内存执行,后者会先生成表达式树,查询由源对象处理。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace ConsoleEFApplication2
{
class Program
{
static void Main(string[] args)
{
StudyDBEntities context = new StudyDBEntities();
/*
// 增
Student s1 = new Student();
s1.Name = "张三";
s1.Class = "101班";
context.Student.Add(s1);
context.SaveChanges();
*/
/* 跟踪数据库操作为:
INSERT [Student]([Name], [Class]) VALUES ('李四','103班')
SELECT [ID] FROM [Student] WHERE @@ROWCOUNT > 0 AND [ID] = scope_identity()
*/
/*
// 删
int id = 1;
var s3 = from s in context.Student
where s.ID == id
select s;
context.Student.Remove(s3.FirstOrDefault());
context.SaveChanges();
*/
/*
SELECT TOP (1)
[Extent1].[ID] AS [ID],
[Extent1].[Name] AS [Name],
[Extent1].[Class] AS [Class]
FROM [dbo].[Student] AS [Extent1]
WHERE [Extent1].[ID] = 1
DELETE [dbo].[Student] WHERE ([ID] = 1)
*/ // 改
int id = ;
var s3 = from s in context.Student
where s.ID == id
select s;
var m = s3.FirstOrDefault();
m.Name = "王五";
context.SaveChanges();
/*
SELECT TOP (1)
[Extent1].[ID] AS [ID],
[Extent1].[Name] AS [Name],
[Extent1].[Class] AS [Class]
FROM [dbo].[Student] AS [Extent1]
WHERE [Extent1].[ID] = 2
UPDATE [dbo].[Student] SET [Name] = '王五' WHERE ([ID] = 2)
*/
// 查
// 1. 两者等同
var s1 = context.Student.Select(s => s);
foreach (var item in s1)
{
Console.WriteLine(item.ID);
}
/* 跟踪数据库操作为:
SELECT
[Extent1].[ID] AS [ID],
[Extent1].[Name] AS [Name],
[Extent1].[Class] AS [Class]
FROM [dbo].[Student] AS [Extent1]
*/
var s2 = from s in context.Student
where s.ID > && s.Name.StartsWith("李")
select s.Name;
//
s2 = context.Student.Select(s => s.Name);
foreach (var item in s2)
{
Console.WriteLine(item);
}
/* 跟踪数据库操作为:
SELECT
[Extent1].[Name] AS [Name]
FROM [dbo].[Student] AS [Extent1]
WHERE ([Extent1].[ID] > 1) AND ([Extent1].[Name] LIKE '李%')
*/
}
}
}

[转]MVC 经验总结_EF的更多相关文章

  1. [转]MVC 经验总结_序

    <appSettings> <add key="vs:EnableBrowserLink" value="false"/> </a ...

  2. .net core 入坑经验 - 3、MVC Core之jQuery不能使用了?

    在View中添加了一段jQuery代码用来控制一个按钮的点击事件.发现运行时提示$对象没有定义,经过在浏览器右键查看源文件发现,script代码在引用jquery代码的上方,执行时jquery还未引入 ...

  3. ASP.NET MVC 5 02 - ASP.NET MVC 1-5 各版本特点

    参考书籍:<ASP.NET MVC 4 高级编程>.<ASP.NET MVC 5 高级编程>.<C#高级编程(第8版)>.<使用ASP.NET MVC开发企业 ...

  4. 8年经验面试官详解 Java 面试秘诀

      作者 | 胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三 ...

  5. mongo的runCommand与集合操作函数的关系

    除了特殊注释外,本文的测试结果均基于 spring-data-mongodb:1.10.6.RELEASE(spring-boot-starter:1.5.6.RELEASE),MongoDB 3.0 ...

  6. 使用Spring和JQuery实现视频文件的上传和播放

    Spring MVC可以很方便用户进行WEB应用的开发,实现Model.View和Controller的分离,再结合Spring boot可以很方便.轻量级部署WEB应用,这里为大家介绍如何使用Spr ...

  7. [01]从零开始学 ASP.NET Core 与 EntityFramework Core 课程介绍

    从零开始学 ASP.NET Core 与 EntityFramework Core 课程介绍 本文作者:梁桐铭- 微软最有价值专家(Microsoft MVP) 文章会随着版本进行更新,关注我获取最新 ...

  8. MVC模式网站编写经验总结

    单个网站使用MVC架构模式经验总结,包含具体网站包分类.包内类的编写.注意事项等方面.本人认为,按照如下包分类及编写方法,已经满足一个简单普通网站(主要针对java)的编写需求. MVC主要层级 数据 ...

  9. SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。

    熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...

随机推荐

  1. luogu P1017 进制转换

    感觉这个题 是真的恶心 本来单纯就递归写,发现好难 后来用数组记录 然后考虑 指数为 奇和偶数 分别 <0 和 > 进制的情况 其实 用进制数为3 大概讨论四种情况就可以了 由于最近就是在 ...

  2. Sublime Text 3 配置文件路径修改

    Sublime Text 3安装完以后(安装过程不再演示),第一次打开会在C:\Users\admin\AppData\Roaming目录下创建一个Sublime Text 3目录用于存放Sublim ...

  3. BZOJ 4011 【HNOI2015】 落忆枫音

    题目链接:落忆枫音 以下内容参考PoPoQQQ大爷的博客 首先我们先来考虑一下如果没有新加入的那条边,答案怎么算. 由于这是一个\(DAG\),所以我们给每个点随便选择一条入边,最后一定会构成一个树形 ...

  4. hdu4280网络流之dinic

    这题就是个模板题,不过我是第一次写dinic,好久没用链式前向星又不会了... 时间:9126ms #include<map> #include<set> #include&l ...

  5. 兼容360模式自动播放视频【需要flvpalyer.swf】

    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://down ...

  6. 移动前端兼容性笔记 - 安卓2.x 自带原生浏览器箭头问题

    这样的箭头用CSS-3实现,整段代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta c ...

  7. 十款效果惊艳的Html案例(一)

    http://www.html5tricks.com/10-html5-image-effect.html

  8. 【MVC】MusicStore相关资料

    引言 当你对MVC的项目结构有一定了解时,那就可以开始学习一个世界级的MVC入门demo--MusicStore.学习的绝招就是把它抄一遍. 相关资料 MVC Music Store  Codeple ...

  9. Python3 列表List(十一)

    list是一种有序可重复的集合,可以随时添加和删除其中的元素. 序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. ...

  10. specialized English for automation-Lesson 2 Basic Circuits of Operational Amplifiers

    排版有点乱.... ========================================================================= Operational Ampl ...