在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);
}
}