Entity Framework 学习第二天 续

今天来写一点不一样的删除,修改,查询

下面只写了几个方法

 1         /// <summary>
 2         /// 根据删除条件进行删除
 3         /// </summary>
 4         /// <param name="removeWhere"></param>
 5         public void remove(System.Linq.Expressions.Expression<Func<StudentInfo, bool>> removeWhere)
 6         {
 7             //使用查找方式,现将要删除的条件传递进来,将要删除的数据查询出来
 8             List<StudentInfo> studentList = db.Student.Where(removeWhere).ToList();
 9             //遍历查询出来的数据,然后进行删除操作,这里用到lambda表达式,后期有时间会写一下有关的使用
10             studentList.ForEach(s => db.Student.Remove(s));
11             db.SaveChanges();
12         }
13         /// <summary>
14         /// 修改数据
15         /// </summary>
16         /// <param name="student"></param>
17         /// <param name="strs">可变参数,传递那些属性被修改了</param>
18         public void update(StudentInfo student,params string[] strs)
19         {
20             DbEntityEntry entry= db.Entry<StudentInfo>(student);
21             entry.State = System.Data.EntityState.Unchanged;
22             //遍历属性,修改其标志位
23             foreach (string temp in strs)
24             {
25                 entry.Property(temp).IsModified = true;
26             }
27             db.SaveChanges();
28         }
29
30         /// <summary>
31         /// 基本查询
32         /// </summary>
33         /// <param name="where"></param>
34         /// <returns></returns>
35         public List<StudentInfo> where(System.Linq.Expressions.Expression<Func<StudentInfo,bool>> where)
36         {
37            return db.Student.Where(where).ToList();
38         }
39         /// <summary>
40         /// 带排序条件的查询,并包括页数,页容量
41         /// </summary>
42         /// <typeparam name="TKey"></typeparam>
43         /// <param name="where"></param>
44         /// <param name="orderBy"></param>
45         /// <param name="pageSize"></param>
46         /// <param name="pageIndex"></param>
47         /// <returns></returns>
48         public List<StudentInfo> whereByOrder<TKey>(Expression<Func<StudentInfo, bool>> where, Expression<Func<StudentInfo, TKey>> orderBy, int pageSize, int pageIndex)
49         {
50             return db.Student.Where(where).OrderBy(orderBy).Skip(pageIndex - 1).Take(pageSize).ToList();
51         }

看上去比第一天的内容上了些档次呢。哈哈

Entity Framework 学习第二天 续,布布扣,bubuko.com

时间: 2024-10-17 00:52:45

Entity Framework 学习第二天 续的相关文章

Entity Framework 学习第一天 续

改写第一天的增删改查方法,观察增删改查的本质 1 using System; 2 using System.Collections.Generic; 3 using System.Data.Entity.Infrastructure; 4 using System.Linq; 5 using System.Text; 6 using System.Threading.Tasks; 7 8 namespace EFConsole 9 { 10 class Program 11 { 12 publi

Entity Framework 学习

Entity Framework 学习初级篇1--EF基本概况... 2 Entity Framework 学习初级篇2--ObjectContext.ObjectQuery.ObjectStateEntry.ObjectStateManager类的介绍... 7 Entity Framework 学习初级篇3-- LINQ TOEntities. 10 Entity Framework 学习初级篇4--EntitySQL. 17 Entity Framework 学习初级篇5--ObjectQ

Entity Framework学习中级篇

1-EF支持复杂类型的实现 本节,将介绍如何手动构造复杂类型(ComplexType)以及复杂类型的简单操作. 通常,复杂类型是指那些由几个简单的类型组合而成的类型.比如:一张Customer表,其中有FristName和LastName字段,那么对应的Customer实体类将会有FristName和LastName这两个属性.当我们想把FirstName和LastName合成一个名为CustomerName属性时,此时,如果要在EF中实现这个目的,那么我们就需要用到复杂类型. 目前,由于EF不

MVC5 Entity Framework学习之异步和存储过程

在之前的文章中,你已经学习了如何使用同步编程模型来读取和更新数据,在本节中你将学习如何实现异步编程模型.异步可以使应用程序执行更有效率,因为它可以更有效的使用服务器资源. 同样在本节中你还将学习如何针对实体的insert, update, 和delete操作使用存储过程. 最后将应用程序部署到 Windows Azure. 下面是完成后的页面 为什么要使用异步代码 一个web服务器的可用线程是有限的,在高负载情况下,所有的可用线程可能都在被使用.当出现这种情况时,服务器将无法处理新的请求,直到有

Entity Framework学习之创建Entity Framework数据模型

1.准备 Visual Studio 2013 .NET 4.5 Entity Framework 6 (EntityFramework 6.1.0 NuGet package) Windows Azure SDK 2.2 (可选) 2.Contoso University web应用程序 此应用程序允许用户 查看.更新student. course和instructor 信息: 网站UI样式是由内置模板生成的 3.新建MVC5 web应用程序 新建项目并命名为"ContosoUniversit

MVC5 Entity Framework学习之实现主要的CRUD功能

在上一篇文章中,我们使用Entity Framework 和SQL Server LocalDB创建了一个MVC应用程序,并使用它来存储和显示数据.在这篇文章中,你将对由 MVC框架自己主动创建的CRUD(create, read, update, delete)代码进行改动. 注意:通常我们在控制器和数据訪问层之间创建一个抽象层来实现仓储模式.为了将注意力聚焦在怎样使用实体框架上.这里暂没有使用仓储模式. 在本篇文章中,要创建的web页面: watermark/2/text/aHR0cDovL

Entity Framework 学习笔记(2)

上期回顾:Entity Framework 学习笔记(1) Entity Framework最主要的东西,就是自己创建的.继承于DbContext的类: /// <summary> /// Context相当于一个数据库 /// </summary> public class MusicContext : DbContext { //base("LocalDB")表示要用到config文件中的名为"LcoalDB"的连接字符串 public

MVC5 Entity Framework学习之更新相关数据

在上篇文章中学习了如何在页面中显示相关数据,本节中将学习如何对相关数据进行更新.对于大多数实体关系,可以通过更新外键或导航属性来更新数据,对于多对多关系,Entity Framework不会直接公开连接表,所以你需要通过相应的导航属性来添加和移除实体. 先看完成后的效果图 为Courses自定义Create 和Edit 页面 当一个新的course实体被创建时,该实体必须关联到一个已存在的department.要做到这一点,生成的框架代码应该要包括控制器方法和用于选择department的下列列

ADO.NET Entity Framework学习笔记(3)ObjectContext

ADO.NET Entity Framework学习笔记(3)ObjectContext对象[转] 说明 ObjectContext提供了管理数据的功能 Context操作数据 AddObject 添加实体 将实体添加到集合中, 创建实体时,状态为EntityState.Detached 当调用AddObject将实体添加到Context时,状态为EntityState.Added myContext context = new myContext(); myTab r = new myTab(