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

下面只写了几个方法

         /// <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();
}

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

05-07 15:17
查看更多