⒈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. HDU 6154 CaoHaha's staff(2017中国大学生程序设计竞赛 - 网络选拔赛)

    题目代号:HDU 6154 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6154 CaoHaha's staff Time Limit: 2000/1 ...

  2. [Deep Learning] GELU (Gaussian Error Linerar Units)

    (转载请注明出处哦~) 参考链接: 1. 误差函数的wiki百科:https://zh.wikipedia.org/wiki/%E8%AF%AF%E5%B7%AE%E5%87%BD%E6%95%B0 ...

  3. linux 查看系统性能

    1. 查看内存和CPU信息 cat /proc/cpuinfo                   cpu信息 cat /proc/meminfo |grep MemTotal    内存信息 查看物 ...

  4. 两台Linux服务器之间的文件传输

    最近工作中有这样一个需求,需要将A服务器上的文件传到B服务器. 本来想用Java开发,但一想Java开发周期长,应对这样一个小需求没必要用Java,最后选择了Shell脚本,相关代码如下: #!/bi ...

  5. Java多线程-线程中止

    不正确的线程中止-Stop Stop:中止线程,并且清除监控器锁的信息,但是可能导致 线程安全问题,JDK不建议用. Destroy: JDK未实现该方法. /** * @author simon * ...

  6. 【软件工程】Alpha冲刺(3/6)

    链接部分 队名:女生都队 组长博客: 博客链接 作业博客:博客链接 小组内容 恩泽(组长) 过去两天完成了哪些任务 描述 对推送模块进行详细划分 基于用户的协同过滤,寻找更感兴趣的话题 学习API文档 ...

  7. dpkg -l 命令返回数值

    ubuntu命令: dpkg -l 每条记录对应一个软件包,每条记录的第一,二,三个字符是软件包的状态标识,后边依此时软件包名称,版本号,和简述:   第一个字符为,期望值:包括如下状态: u 状态未 ...

  8. Mac Vmware NAT模式

    1.NAT模式原理 2.MAC上关于Vmware的配置 1)/Library/Preferences/VMware Fusion/networking MacBookPro:~ zhangxm$ vi ...

  9. redis宕机时哨兵的处理

    https://blog.csdn.net/a67474506/article/details/50435498 redis宕机是的故障处理 重启故障机 sentinel.conf 的配置会改变

  10. MySQL 存储过程 函数 routine 权限

    MySQL 存储过程 函数 routine 权限 Table of Contents 1. mysql存储过程/函数权限 1.1. 相关对象操作权限检查 1.2. 执行权限 1 mysql存储过程/函 ...