MVC实现增、删、改、查、批删、分页(二)学习
2013-12-22 23:26
323 查看
在UserInfoEFDAL类下
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using Dulei.IDAL;
using Dulei.Model;
namespace Dulei.DAL
{
public class UserInfoEFDal : IUserInfoDal
{
DataModelContainer db = new DataModelContainer();
/// <summary>
/// 增加
/// </summary>
/// <param name="userInfo"></param>
/// <returns></returns>
public UserInfo ADD(UserInfo userInfo)
{
DataModelContainer db = new DataModelContainer();
db.UserInfo.Add(userInfo);
db.SaveChanges();
return userInfo;
}
/// <summary>
/// 修改
/// </summary>
/// <param name="userInfo"></param>
/// <returns></returns>
public bool Update(UserInfo userInfo)
{
db.UserInfo.Attach(userInfo);
db.Entry(userInfo).State = EntityState.Modified;
return db.SaveChanges()>0;
}
/// <summary>
/// 删除
/// </summary>
/// <param name="userInfo"></param>
/// <returns></returns>
public bool Delete(UserInfo userInfo)
{
db.UserInfo.Attach(userInfo);
db.Entry(userInfo).State=EntityState.Deleted;
return db.SaveChanges() > 0;
}
/// <summary>
/// 批量删除
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
public int Delete(params int[] ids)
{
foreach (var id in ids)
{
UserInfo user=new UserInfo();
user.ID = id;
db.Entry(userInfo).State = EntityState.Deleted;
}
return db.SaveChanges();
}
/// <summary>
/// 查询
/// </summary>
/// <param name="whereLambda"></param>
/// <returns></returns>
public IQueryable<UserInfo> LoadUserInfos(Func<UserInfo, bool> whereLambda)
{
return db.UserInfo.Where(whereLambda).AsQueryable();
}
/// <summary>
/// 分页
/// </summary>
/// <param name="pageSize"></param>
/// <param name="pageIndex"></param>
/// <param name="total"></param>
/// <param name="whereLambda"></param>
/// <param name="orderbyLambda"></param>
/// <param name="isAsec"></param>
/// <returns></returns>
public IQueryable<UserInfo> LoadpageUserInfos(int pageSize, int pageIndex, out int total, Func<UserInfo, bool> whereLambda, Func<UserInfo, S> orderbyLambda, bool isAsec)
{
total = db.UserInfo.Where(whereLambda).Count();
if (isAsec)
{
return db.UserInfo.Where(whereLambda).OrderBy(orderbyLambda)
.Skip(pageSize * (pageIndex - 1))
.Take(pageIndex).AsQueryable();
}
else
{
return db.UserInfo.Where(whereLambda).OrderByDescending(orderbyLambda)
.Skip(pageSize * (pageIndex - 1))
.Take(pageIndex).AsQueryable();
}
}
}
}
接口的实现IDAL
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Dulei.Model;
namespace Dulei.IDAL
{
public interface IUserInfoDal
{
UserInfo ADD(UserInfo userInfo);
bool Update(UserInfo userInfo);
bool Delete(UserInfo userInfo);
int Delete(params int[] ids);
IQueryable<UserInfo> LoadUserInfos(Func<UserInfo, bool> whereLambda);
IQueryable<UserInfo> LoadpageUserInfos(int pageSize, int pageIndex, out int total,
Func<UserInfo, bool> whereLambda, Func<UserInfo, S> orderbyLambda, bool isAsec);
}
}
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using Dulei.IDAL;
using Dulei.Model;
namespace Dulei.DAL
{
public class UserInfoEFDal : IUserInfoDal
{
DataModelContainer db = new DataModelContainer();
/// <summary>
/// 增加
/// </summary>
/// <param name="userInfo"></param>
/// <returns></returns>
public UserInfo ADD(UserInfo userInfo)
{
DataModelContainer db = new DataModelContainer();
db.UserInfo.Add(userInfo);
db.SaveChanges();
return userInfo;
}
/// <summary>
/// 修改
/// </summary>
/// <param name="userInfo"></param>
/// <returns></returns>
public bool Update(UserInfo userInfo)
{
db.UserInfo.Attach(userInfo);
db.Entry(userInfo).State = EntityState.Modified;
return db.SaveChanges()>0;
}
/// <summary>
/// 删除
/// </summary>
/// <param name="userInfo"></param>
/// <returns></returns>
public bool Delete(UserInfo userInfo)
{
db.UserInfo.Attach(userInfo);
db.Entry(userInfo).State=EntityState.Deleted;
return db.SaveChanges() > 0;
}
/// <summary>
/// 批量删除
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
public int Delete(params int[] ids)
{
foreach (var id in ids)
{
UserInfo user=new UserInfo();
user.ID = id;
db.Entry(userInfo).State = EntityState.Deleted;
}
return db.SaveChanges();
}
/// <summary>
/// 查询
/// </summary>
/// <param name="whereLambda"></param>
/// <returns></returns>
public IQueryable<UserInfo> LoadUserInfos(Func<UserInfo, bool> whereLambda)
{
return db.UserInfo.Where(whereLambda).AsQueryable();
}
/// <summary>
/// 分页
/// </summary>
/// <param name="pageSize"></param>
/// <param name="pageIndex"></param>
/// <param name="total"></param>
/// <param name="whereLambda"></param>
/// <param name="orderbyLambda"></param>
/// <param name="isAsec"></param>
/// <returns></returns>
public IQueryable<UserInfo> LoadpageUserInfos(int pageSize, int pageIndex, out int total, Func<UserInfo, bool> whereLambda, Func<UserInfo, S> orderbyLambda, bool isAsec)
{
total = db.UserInfo.Where(whereLambda).Count();
if (isAsec)
{
return db.UserInfo.Where(whereLambda).OrderBy(orderbyLambda)
.Skip(pageSize * (pageIndex - 1))
.Take(pageIndex).AsQueryable();
}
else
{
return db.UserInfo.Where(whereLambda).OrderByDescending(orderbyLambda)
.Skip(pageSize * (pageIndex - 1))
.Take(pageIndex).AsQueryable();
}
}
}
}
接口的实现IDAL
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Dulei.Model;
namespace Dulei.IDAL
{
public interface IUserInfoDal
{
UserInfo ADD(UserInfo userInfo);
bool Update(UserInfo userInfo);
bool Delete(UserInfo userInfo);
int Delete(params int[] ids);
IQueryable<UserInfo> LoadUserInfos(Func<UserInfo, bool> whereLambda);
IQueryable<UserInfo> LoadpageUserInfos(int pageSize, int pageIndex, out int total,
Func<UserInfo, bool> whereLambda, Func<UserInfo, S> orderbyLambda, bool isAsec);
}
}
相关文章推荐
- ASP.NET MVC 3.0学习系列(19)-开源控件实现表格排序和分页
- MVC3学习:利用mvc3+ajax结合MVCPager实现分页
- 【Spring+SpringMVC+MyBatis深入学习及搭建】18.MyBatis+PageHelper实现分页
- MVC3学习第十三章 佟掌柜第二弹——MVC3下利用陕北吴旗娃的分页控件实现数据分页
- ASP.NET MVC 学习笔记(4) 分页处理
- springmvc + jquery datatable + ajax实现动态分页查询
- asp.net mvc基于jQuery+Ajax实现无刷新分页
- 在MVC中实现和网站不同服务器的批量文件下载以及NPOI下载数据到Excel的简单学习
- springboot学习笔记5(JPA 实现分页、排序、返回map集合)
- java web Spring mvc 分页实现
- MVC学习之实现HTTP-GET的Delete Action方法
- NHibernate+spring.net+jquery打造UI控件库(mvc+webform两种实现) usercontrol,jtemplate两种方式打造无刷新分页(附NHbernate+Spring.net源码)
- Maven+Mybatis+Spring+SpringMVC实现分页查询(附源码)
- 从MVC实战学习网站编写(二)Model及View实现
- MVC学习十一:浅谈在ASP.NET MVC3中使用IClientValidatable接口实现客户端和服务器端同时验证
- MVC3学习:实现文章上一篇下一篇链接
- springmvc + myBatis + boostrap技术下简单实现的前后端分页功能
- 分页学习总结-1-正常的分页实现
- mybatis+oracle+springMVC实现简单分页
- MVC-结合Servlet和JSP实现分页功能