Entity Framework常用方法及案例
⒈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常用方法及案例的更多相关文章
- Code First :使用Entity. Framework编程(7) ----转发 收藏
第7章 高级概念 The Code First modeling functionality that you have seen so far should be enough to get you ...
- Programming Entity Framework 翻译(2)-目录2-章节
How This Book Is Organized 本书组织结构 Programming Entity Framework, Second Edition, focuses on two ways ...
- Programming Entity Framework 翻译(1)-目录
1. Introducing the ADO.NET Entity Framework ado.net entity framework 介绍 1 The Entity Relationship Mo ...
- Entity Framework 实体框架的形成之旅--为基础类库接口增加单元测试,对基类接口进行正确性校验(10)
本篇介绍Entity Framework 实体框架的文章已经到了第十篇了,对实体框架的各个分层以及基类的封装管理,已经臻于完善,为了方便对基类接口的正确性校验,以及方便对以后完善或扩展接口进行回归测试 ...
- Code First :使用Entity. Framework编程(2) ----转发 收藏
第二章:Code First概览 如果你使用第一.二版的EF框架工作过,你会回想起书中的业务案例:Break Away Geek Adventures, 简称BAGA.BAGA共享了很多像我们这样的奇 ...
- Code First :使用Entity. Framework编程(1) ----转发 收藏
这个是在学习EF CodeFirst时发现的,对于初学者还是不错的.果断转发,方便自己以后查阅和学习. 对于学习Code First 这个教程讲解的还是很详细. 第一章:欢迎来到Code First ...
- 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 ...
- .NET Entity Framework入门简介及简单操作
Entity Framework是微软借鉴ORM思想开发自己的一个ORM框架. ORM就是将数据库表与实体对象(相当于三层中的Model类)相互映射的一种思想. 最大的优点就是非常方便的跨数据库平台. ...
- 在Apworks数据服务中使用基于Entity Framework Core的仓储(Repository)实现
<在ASP.NET Core中使用Apworks快速开发数据服务>一文中,我介绍了如何使用Apworks框架的数据服务来快速构建用于查询和管理数据模型的RESTful API,通过该文的介 ...
随机推荐
- 排序学习(learning to rank)中的ranknet pytorch简单实现
一.理论部分 理论部分网上有许多,自己也简单的整理了一份,这几天会贴在这里,先把代码贴出,后续会优化一些写法,这里将训练数据写成dataset,dataloader样式. 排序学习所需的训练样本格式如 ...
- 存储映射--mmap
存储映射 使一个磁盘文件与存储空间中的一个缓冲区相映射. 当从缓冲区中取数据,就相当于读文件中的相应字节. 将数据存入缓冲区,则相应的字节就自动写入文件. 使用这种方法,首先应通知内核,将一个指定文件 ...
- Cow and Snacks
D. Cow and Snacks 参考:Codeforces 1209D. Cow and Snacks 思路:利用并查集,构建一个生成树,然后树的边数就是能够开心的客人的人数.用一个条件fin ...
- react富文本编辑器
首先安装两个插件 yarn add react-draft-wysiwyg draftjs-to-html --save 使用的代码如下 import React from 'react' impor ...
- HDU 5818 Joint Stacks ——(栈的操作模拟,优先队列)
题意:有两个栈A和B,有3种操作:push,pop,merge.前两种都是栈的操作,最后一种表示的是如果“merge A B”,那么把B中的元素全部放到A中,且满足先入后出的栈原则. 分析:显然,我们 ...
- $\LaTeX$数学公式大全10
$10\ Array\ environment,examples$ $\left( \begin{array}{cc} 2\tau & 7\phi-frac5{12} \\ 3\psi &am ...
- Riot.js——一个小而美的JS框架
Riot.js是什么? Riot 拥有创建现代客户端应用的所有必需的成分: "响应式" 视图层用来创建用户界面 用来在各独立模块之间进行通信的事件库 用来管理URL和浏览器回退按钮 ...
- Python 之目录处理
目录处理 OS目录处理目录-->路径,文件夹 文件:txt 1. 新建和删除一个目录 import os #引入os目录from xx import xx os.mkdir("D:\\ ...
- SQLServer-设置-Table:阻止保存要求重新创建表的更改
ylbtech-SQLServer-设置-Table:阻止保存要求重新创建表的更改 1.返回顶部 ·不允许保存更改,阻止保存要求重新创建表的更改 · 2.返回顶部 · https://jingyan. ...
- javascript定时器方法使用
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...