11.23父类Basedal层
public class BaseDAL<T> where T:class//定义一个T,在每个DAL层实现调用不同实体来完成不同表方法的调用
{
/// <summary>
/// 数据上下文
/// </summary>
public Model1 Model
{
get { return new Model1(); }
}
/// <summary>
/// 查询集合
/// </summary>
/// <param name="name"></param>
/// <returns></returns>
public List<T> Select(Expression<Func<T, bool>> exception)
{
return Model.Set<T>().Where(exception).ToList();
}
/// <summary>
/// 查询单个对象
/// </summary>
/// <param name="id">主键</param>
/// <returns>单个对象或null</returns>
public T Single(Expression<Func<T,bool>> exception)
{
//传主键直接用Find()即可,传其他不是主键用Firstordefault
return Model.Set<T>().FirstOrDefault(exception);//Firstordefault lastordefault
}
/// <summary>
/// 添加
/// </summary>
/// <param name="info">数据</param>
/// <returns>受影响的行数</returns>
///
//sqlParameters命名参数
public int Insert(T info)
{
Model.Set<T>().Add(info);
return Model.SaveChanges();
}
/// <summary>
/// 删除
/// </summary>
/// <param name="info">数据</param>
/// <returns>受影响的行数</returns>
public int Delete(T info)
{
Model.Set<T>().Remove(info);
return Model.SaveChanges();
}
/// <summary>
/// 修改
/// </summary>
/// <param name="info"></param>
/// <returns></returns>
}
}

浙公网安备 33010602011771号