您的位置:首页 > 其它

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);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: