⒈Skip(int count)

  说明:跳过集合的前n个元素;延迟。即我们跳过给定的数目返回后面的结果集。

⒉Take(int count)

  说明:获取集合的前n个元素;延迟。即只返回限定数量的结果集。

案例:分页查询

         public IList<StudentScore> test1(int pageSize,int pageIndex)
{
//skip表示跳过多少条,Take表示取多少条
var list = _db.StudentScore.Skip(pageSize * (pageIndex - )).Take(pageSize).ToList();
return list;
}

⒊OrderBy

说明:按指定表达式对集合排序;延迟,默认是升序,加上descending表示降序,对应的扩展方法是 OrderBy和OrderByDescending

         public IList<StudentScore> test2()
{
var list = _db.StudentScore.OrderBy(s => s.Id).ToList();
var list2 = _db.StudentScore.OrderByDescending(s => s.Id).ToList();
return list;
}

⒋Add

说明:添加一个实体

         public int test4()
{
var student = new Student {SName = "fanqi",SSex = ,SBirthday = new DateTime(,,) };
var add = _db.Student.Add(student);
_db.SaveChanges();
return add.Entity.Id;
}

⒌Remove

说明:删除一个实体

         public void test5()
{
_db.Remove(new Student { Id = });
_db.SaveChanges(); //Student user = new Student(){ Id = 9};
//将对象添加到EF管理容器
//_db.Student.Attach(user);
//将对象包装类的标识状态变更为删除状态
//_db.Student.Remove(user);
//通知上下文将实体的变化保存到数据库中
//_db.SaveChanges();
}

⒍Update

说明:更新一个实体

         public void test6()
{
Student student = _db.Student.FirstOrDefault(f => f.Id == );
student.SName = "fanqi";
_db.Student.Update(student);
_db.SaveChanges(); //声明一个实体对象并赋初始值
//Student student = new Student { Id = 8, SName = "fanqi" };
//将实体对象加入到EF对象容器中,并获取伪包装类对象
//EntityEntry<Student> entry = _db.Entry<Student>(student);
//将包装类对象的状态设置为unchanged
//entry.State = EntityState.Unchanged;
//设置实体对象被改变的属性
//entry.Property(a => a.SName).IsModified = true;
//通知上下文将实体的变化保存到数据库中
//_db.SaveChanges();
}

⒎Join

说明:内连接

         public dynamic test7()
{
var studentList = _db.Student;
var scoreList = _db.StudentScore;
var newList = studentList.Join(scoreList, stu => stu.Id, sco => sco.SId, (stu, sco) => new
{
studentId = stu.Id,
studentName = stu.SName,
studentSex = stu.SSex == ?"男":"女",
scoreId = sco.Id,
courseId = sco.CId,
courseScoreNum = sco.Score
});
return newList;
}

⒏GroupJoin

说明:左连接

         public dynamic test8()
{
var studentList = _db.Student;
var scoreList = _db.StudentScore; var newList = studentList.GroupJoin(scoreList, stu => stu.Id, sco => sco.SId, (stu, sco) => new
{
studentId = stu.Id,
studentName = stu.SName,
studentSex = stu.SSex == ? "男" : "女",
sco
});
return newList;
}

Entity Framework常用方法及案例的更多相关文章

  1. Code First :使用Entity. Framework编程(7) ----转发 收藏

    第7章 高级概念 The Code First modeling functionality that you have seen so far should be enough to get you ...

  2. Programming Entity Framework 翻译(2)-目录2-章节

    How This Book Is Organized 本书组织结构 Programming Entity Framework, Second Edition, focuses on two ways ...

  3. Programming Entity Framework 翻译(1)-目录

    1. Introducing the ADO.NET Entity Framework ado.net entity framework 介绍 1 The Entity Relationship Mo ...

  4. Entity Framework 实体框架的形成之旅--为基础类库接口增加单元测试,对基类接口进行正确性校验(10)

    本篇介绍Entity Framework 实体框架的文章已经到了第十篇了,对实体框架的各个分层以及基类的封装管理,已经臻于完善,为了方便对基类接口的正确性校验,以及方便对以后完善或扩展接口进行回归测试 ...

  5. Code First :使用Entity. Framework编程(2) ----转发 收藏

    第二章:Code First概览 如果你使用第一.二版的EF框架工作过,你会回想起书中的业务案例:Break Away Geek Adventures, 简称BAGA.BAGA共享了很多像我们这样的奇 ...

  6. Code First :使用Entity. Framework编程(1) ----转发 收藏

    这个是在学习EF CodeFirst时发现的,对于初学者还是不错的.果断转发,方便自己以后查阅和学习. 对于学习Code First 这个教程讲解的还是很详细. 第一章:欢迎来到Code First ...

  7. Working with Data » 使用Visual Studio开发ASP.NET Core MVC and Entity Framework Core初学者教程

    原文地址:https://docs.asp.net/en/latest/data/ef-mvc/intro.html The Contoso University sample web applica ...

  8. .NET Entity Framework入门简介及简单操作

    Entity Framework是微软借鉴ORM思想开发自己的一个ORM框架. ORM就是将数据库表与实体对象(相当于三层中的Model类)相互映射的一种思想. 最大的优点就是非常方便的跨数据库平台. ...

  9. 在Apworks数据服务中使用基于Entity Framework Core的仓储(Repository)实现

    <在ASP.NET Core中使用Apworks快速开发数据服务>一文中,我介绍了如何使用Apworks框架的数据服务来快速构建用于查询和管理数据模型的RESTful API,通过该文的介 ...

随机推荐

  1. 排序学习(learning to rank)中的ranknet pytorch简单实现

    一.理论部分 理论部分网上有许多,自己也简单的整理了一份,这几天会贴在这里,先把代码贴出,后续会优化一些写法,这里将训练数据写成dataset,dataloader样式. 排序学习所需的训练样本格式如 ...

  2. 存储映射--mmap

    存储映射 使一个磁盘文件与存储空间中的一个缓冲区相映射. 当从缓冲区中取数据,就相当于读文件中的相应字节. 将数据存入缓冲区,则相应的字节就自动写入文件. 使用这种方法,首先应通知内核,将一个指定文件 ...

  3. Cow and Snacks

    ​ D. Cow and Snacks 参考:Codeforces 1209D. Cow and Snacks 思路:利用并查集,构建一个生成树,然后树的边数就是能够开心的客人的人数.用一个条件fin ...

  4. react富文本编辑器

    首先安装两个插件 yarn add react-draft-wysiwyg draftjs-to-html --save 使用的代码如下 import React from 'react' impor ...

  5. HDU 5818 Joint Stacks ——(栈的操作模拟,优先队列)

    题意:有两个栈A和B,有3种操作:push,pop,merge.前两种都是栈的操作,最后一种表示的是如果“merge A B”,那么把B中的元素全部放到A中,且满足先入后出的栈原则. 分析:显然,我们 ...

  6. $\LaTeX$数学公式大全10

    $10\ Array\ environment,examples$ $\left( \begin{array}{cc} 2\tau & 7\phi-frac5{12} \\ 3\psi &am ...

  7. Riot.js——一个小而美的JS框架

    Riot.js是什么? Riot 拥有创建现代客户端应用的所有必需的成分: "响应式" 视图层用来创建用户界面 用来在各独立模块之间进行通信的事件库 用来管理URL和浏览器回退按钮 ...

  8. Python 之目录处理

    目录处理 OS目录处理目录-->路径,文件夹 文件:txt 1. 新建和删除一个目录 import os #引入os目录from xx import xx os.mkdir("D:\\ ...

  9. SQLServer-设置-Table:阻止保存要求重新创建表的更改

    ylbtech-SQLServer-设置-Table:阻止保存要求重新创建表的更改 1.返回顶部 ·不允许保存更改,阻止保存要求重新创建表的更改 · 2.返回顶部 · https://jingyan. ...

  10. javascript定时器方法使用

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...