[转]MVC 经验总结_EF
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的更多相关文章
- [转]MVC 经验总结_序
<appSettings> <add key="vs:EnableBrowserLink" value="false"/> </a ...
- .net core 入坑经验 - 3、MVC Core之jQuery不能使用了?
在View中添加了一段jQuery代码用来控制一个按钮的点击事件.发现运行时提示$对象没有定义,经过在浏览器右键查看源文件发现,script代码在引用jquery代码的上方,执行时jquery还未引入 ...
- ASP.NET MVC 5 02 - ASP.NET MVC 1-5 各版本特点
参考书籍:<ASP.NET MVC 4 高级编程>.<ASP.NET MVC 5 高级编程>.<C#高级编程(第8版)>.<使用ASP.NET MVC开发企业 ...
- 8年经验面试官详解 Java 面试秘诀
作者 | 胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三 ...
- mongo的runCommand与集合操作函数的关系
除了特殊注释外,本文的测试结果均基于 spring-data-mongodb:1.10.6.RELEASE(spring-boot-starter:1.5.6.RELEASE),MongoDB 3.0 ...
- 使用Spring和JQuery实现视频文件的上传和播放
Spring MVC可以很方便用户进行WEB应用的开发,实现Model.View和Controller的分离,再结合Spring boot可以很方便.轻量级部署WEB应用,这里为大家介绍如何使用Spr ...
- [01]从零开始学 ASP.NET Core 与 EntityFramework Core 课程介绍
从零开始学 ASP.NET Core 与 EntityFramework Core 课程介绍 本文作者:梁桐铭- 微软最有价值专家(Microsoft MVP) 文章会随着版本进行更新,关注我获取最新 ...
- MVC模式网站编写经验总结
单个网站使用MVC架构模式经验总结,包含具体网站包分类.包内类的编写.注意事项等方面.本人认为,按照如下包分类及编写方法,已经满足一个简单普通网站(主要针对java)的编写需求. MVC主要层级 数据 ...
- SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。
熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...
随机推荐
- AJAX,JSON,GSON
AJAX将数据使用JSON格式发送给后端Servlet或其他语言解析. 对JSON内容使用GSON外扩展包进行分解,并使用(如查询用户名是否已经被注册), 最后使用Map集合设置新的返回状态码,并使用 ...
- SDOI2011_染色
SDOI_染色 背景:很早就想学习树链剖分,趁着最近有点自由安排的时间去学习一下,发现有个很重要的前置知识--线段树.(其实不一定是线段树,但是线段树应该是最常见的),和同学吐槽说树剖的剖和分都很死板 ...
- 【eclipse】Server Tomcat v9.0 Server at localhost failed to start.
Server Tomcat v9.0 Server at localhost failed to start. 的一个原因就是启动超时了.
- Docker:Err http://archive.ubuntu.com trusty InRelease & E: Unable to locate package [name] 问题
参考: Docker containers can't resolve DNS on Ubuntu 14.04 Desktop Host Unable to locate package错误解决办法 ...
- js urlencode
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 递归--练习2--noi6261汉诺塔
递归--练习2--noi6261汉诺塔 一.心得 先把递推公式写出来,会很简单的 二.题目 6261:汉诺塔问题 总时间限制: 1000ms 内存限制: 65536kB 描述 约19世纪末,在欧州 ...
- LeetCode 40
// 既然不能重复利用,就在递归中选择下一个数,不能重复的话,就用setclass Solution { public: vector<vector<int>> combina ...
- 如何在.Net的MySqlCommand里面使用MySql用户自定义变量?
Mysql使用@符号代表变量,但C#也恰好使用@代表用户自定义变量,这样两者就会正好冲突了. SELECT () AS rowId, u.*, r.RoleName FROM userinfo u L ...
- hdu 3682 10 杭州 现场 C - To Be an Dream Architect 简单容斥 难度:1
C - To Be an Dream Architect Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d &a ...
- 福大软工 · 第十一次作业 - Alpha 事后诸葛亮
拖鞋旅游队团队事后诸葛亮会议 前言 队名:拖鞋旅游队 组长博客:https://www.cnblogs.com/Sulumer/p/10054510.html 时间:2018-12-1 20:00 地 ...