⒈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. noi.ac #529 神树的矩阵

    题目链接:戳我 当 \(max(n, m) \ge 3\) 时,可以如下构造: 考虑下面这样三个矩阵,红 + 蓝 − 绿得到的矩阵是一个第一行和最后一行全是 1,其他地方全是 0 的矩阵. 那么如果需 ...

  2. 项目部署中,tomcat报java.lang.OutOfMemoryError: PermGen space

    原因: PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader ...

  3. webpack4(4.41.2) 打包出现 TypeError this.getResolve is not a function

    报错问题: webpack 打包出现 TypeError: this.getResolve is not a function 环境: nodejs 12.13.0 npm 6.12.0 webpac ...

  4. bedtools 用法大全

    原文:https://cloud.tencent.com/developer/article/1078324 前言: bedtools等工具号称是可以代替普通的生物信息学数据处理工程师的!我这里用一个 ...

  5. SRGAN 学习心得

    一.理论 关于SRGAN的的论文中文翻译网上一大堆,可以直接读网络模型(大概了解),关于loss的理解,然后就能跑代码 loss  = mse + 对抗损失 + 感知损失   : https://bl ...

  6. LeetCode 470. 用 Rand7() 实现 Rand10()(Implement Rand10() Using Rand7())

    题目描述 已有方法 rand7 可生成 1 到 7 范围内的均匀随机整数,试写一个方法 rand10 生成 1 到 10 范围内的均匀随机整数. 不要使用系统的 Math.random() 方法. 示 ...

  7. DAY 6考试

    题解: 这题太水辣 注意开 long long 但我不是没开long long 的锅 我是 输出 long long 要用 lld 啊 大梦身先醒,80可海星 PS:百度了一下 long (ld) 和 ...

  8. Orcal nvl函数

    NVL(E1, E2)的功能为:如果E1为NULL,则函数返回E2,否则返回E1本身.但此函数有一定局限,所以就有了NVL2函数. 拓展:NVL2函数:Oracle/PLSQL中的一个函数,Oracl ...

  9. ADS1.2与MDK4.7冲突问题的解决方法

    需要添加2个系统变量. 1.添加环境变量名: ARMCC5LIB 变量值:C:\Keil\ARM\ARMCC\lib(实际Keil安装目录) 2.添加环境变量:ARMCC5INC变量值:C:\Keil ...

  10. GitHub:Baidu

    ylbtech-GitHub:Baidu 1.返回顶部 · duedge-recipes DuEdge百度边缘网络计算样例代码 edgeedge-computingduedge    JavaScri ...