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

下面只写了几个方法

         /// <summary>
/// 根据删除条件进行删除
/// </summary>
/// <param name="removeWhere"></param>
public void remove(System.Linq.Expressions.Expression<Func<StudentInfo, bool>> removeWhere)
{
//使用查找方式,现将要删除的条件传递进来,将要删除的数据查询出来
List<StudentInfo> studentList = db.Student.Where(removeWhere).ToList();
//遍历查询出来的数据,然后进行删除操作,这里用到lambda表达式,后期有时间会写一下有关的使用
studentList.ForEach(s => db.Student.Remove(s));
db.SaveChanges();
}
/// <summary>
/// 修改数据
/// </summary>
/// <param name="student"></param>
/// <param name="strs">可变参数,传递那些属性被修改了</param>
public void update(StudentInfo student,params string[] strs)
{
DbEntityEntry entry= db.Entry<StudentInfo>(student);
entry.State = System.Data.EntityState.Unchanged;
//遍历属性,修改其标志位
foreach (string temp in strs)
{
entry.Property(temp).IsModified = true;
}
db.SaveChanges();
} /// <summary>
/// 基本查询
/// </summary>
/// <param name="where"></param>
/// <returns></returns>
public List<StudentInfo> where(System.Linq.Expressions.Expression<Func<StudentInfo,bool>> where)
{
return db.Student.Where(where).ToList();
}
/// <summary>
/// 带排序条件的查询,并包括页数,页容量
/// </summary>
/// <typeparam name="TKey"></typeparam>
/// <param name="where"></param>
/// <param name="orderBy"></param>
/// <param name="pageSize"></param>
/// <param name="pageIndex"></param>
/// <returns></returns>
public List<StudentInfo> whereByOrder<TKey>(Expression<Func<StudentInfo, bool>> where, Expression<Func<StudentInfo, TKey>> orderBy, int pageSize, int pageIndex)
{
return db.Student.Where(where).OrderBy(orderBy).Skip(pageIndex - ).Take(pageSize).ToList();
}

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

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

  1. Entity Framework 学习第二天

    今天记录的内容不多,只是简单用一下Model first,新建项目,然后添加新建项,选择数据中的ado.net实体数据模型 这次我们选择空模型,然后右键,新增,实体 在这项demo中我打算建两个数据实 ...

  2. Entity Framework 学习第一天 续

    改写第一天的增删改查方法,观察增删改查的本质 using System; using System.Collections.Generic; using System.Data.Entity.Infr ...

  3. Entity Framework学习笔记

    原文地址:http://www.cnblogs.com/frankofgdc/p/3600090.html Entity Framework学习笔记——错误汇总   之前的小项目做完了,到了总结经验和 ...

  4. Entity Framework 学习

    Entity Framework 学习初级篇1--EF基本概况 Entity Framework 学习初级篇2--ObjectContext.ObjectQuery.ObjectStateEntry. ...

  5. Entity Framework 学习建议及教学PPT

    EntityFramework(EF)是微软平台主流的数据存取技术.为了给学生介绍这一技术,我制作了三讲Entity Framework 5.0教学PPT,包括相应源码及示例数据库. 教学内容主要参考 ...

  6. Entity Framework 学习整理(分播客整理)

    MSDN: http://msdn.microsoft.com/en-us/data/aa937723 台湾博客: http://www.dotblogs.com.tw/yc421206/ http: ...

  7. Entity Framework 学习笔记(2)

    上期回顾:Entity Framework 学习笔记(1) Entity Framework最主要的东西,就是自己创建的.继承于DbContext的类: /// <summary> /// ...

  8. Entity Framework 学习中级篇1—EF支持复杂类型的实现

    本节,将介绍如何手动构造复杂类型(ComplexType)以及复杂类型的简单操作. 通常,复杂类型是指那些由几个简单的类型组合而成的类型.比如:一张Customer表,其中有FristName和Las ...

  9. MVC5 Entity Framework学习

    MVC5 Entity Framework学习(1):创建Entity Framework数据模型 MVC5 Entity Framework学习(2):实现基本的CRUD功能 MVC5 Entity ...

随机推荐

  1. css定义表格样式

    table.gridtable { font-family: verdana,arial,sans-serif; font-size:11px; color:#333333; border-width ...

  2. IT职场求生法则(转)

    摘要:在IT职场打滚超过10年了,从小小的程序员做到常务副总.相对于其它行业,IT职场应该算比较光明的了,但也陷阱重重,本文说说我的亲身体会,希望大家能在IT职场上战无不胜! 作者:张传波 软件知识大 ...

  3. 关于module_param()宏

    在用户态下编程可以通过main()的来传递命令行参数,而编写一个内核模块则通过module_param () module_param宏是Linux 2.6内核中新增的,该宏被定义在include/l ...

  4. 对apply和call的理解

    存在的原因: call和apply是为了动态改变this而出现的,当一个object没有某个方法,但是其他的有,我们可以借助call或apply用其它对象的方法来操作. call 和 apply 都是 ...

  5. Something wrong with EnCase index search in Unallocated area

    hi, My EnCase version is v7 and I found a terrible issue about index search in Unallocated area. Wit ...

  6. .NET 中的DateTime

    DateTime简介 DateTime是.NET中的时间类型,可以通过DateTime完成诸如获取当前的系统时间等操作.DateTime在.NET中是一个结构体,而并不是一个类. 如上图所示,这个图标 ...

  7. MYSQL将表名称修改成大写的存储过程

    1. 条件: 1.1 Mysql设置对大小写敏感 2. 执行下述存储过程: #call uppercase('库名') DROP PROCEDURE IF EXISTS uppercase; )) B ...

  8. ie使用firebug

    在网页插入以下代码即可. <script type="text/javascript" src="http://getfirebug.com/releases/li ...

  9. Winform主窗体的设置

    软件必然涉及到一个主窗体MainForm,下面介绍一下几个简单的属性设置,可能比较有用 (1)icon,当然是咱们软件的图标了,设置上去即可 (2)isMdiContainer,这个比较重要了哦,必须 ...

  10. 《第一行代码--Android》阅读笔记之界面设计

    1.单位dp.dip.sp.pt.px.in.mm 这里引用StackOverFlow上的一个解答: px is one pixel. sp is scale-independent pixels. ...