1:准备.tt模板
usingBBFJ.OA.IBLL;usingBBFJ.OA.IDAL;usingBBFJ.OA.Model;usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceBBFJ.OA.BLL
{public partial class ActionInfoService :BaseService,IActionInfoService
{public override voidSetCurrentDal()
{
CurrentDal= this.CurrentDBSession.ActionInfoDal;
}
}public partial class DepartmentService :BaseService,IDepartmentService
{public override voidSetCurrentDal()
{
CurrentDal= this.CurrentDBSession.DepartmentDal;
}
}public partial class R_UserInfo_ActionInfoService :BaseService,IR_UserInfo_ActionInfoService
{public override voidSetCurrentDal()
{
CurrentDal= this.CurrentDBSession.R_UserInfo_ActionInfoDal;
}
}public partial class RoleInfoService :BaseService,IRoleInfoService
{public override voidSetCurrentDal()
{
CurrentDal= this.CurrentDBSession.RoleInfoDal;
}
}public partial class UserInfoService :BaseService,IUserInfoService
{public override voidSetCurrentDal()
{
CurrentDal= this.CurrentDBSession.UserInfoDal;
}
}
}
IManager.tt
注意修改.tt模板中的
string inputFile = @"..\\BBFJ.OA.Model\\Model.edmx";
和
using BBFJ.OA.IBLL;
using BBFJ.OA.IDAL;
using BBFJ.OA.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BBFJ.OA.BLL
3: 修改原类的属性为部分类 partial
public partial class UserInfoService : BaseService,IUserInfoService
并注释掉重复内容
usingBBFJ.OA.IBLL;usingBBFJ.OA.IDAL;usingBBFJ.OA.Model;usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceBBFJ.OA.BLL
{public partial class UserInfoService : BaseService,IUserInfoService
{//public override void SetCurrentDal()//{// //子类拿到父类的CurrentDal属性// //子类拿到父类的DBSession属性//CurrentDal = this.CurrentDBSession.UserInfoDal;//}
#region 02批量删除
public bool DeleteEntities(Listlist)
{//拿到父类的DBSession属性,拿到具体的数据操作类,调用查询方法
var userInfoList = this.CurrentDBSession.UserInfoDal.LoadEntities(u=>list.Contains(u.ID));foreach (var userInfo inuserInfoList)
{this.CurrentDBSession.UserInfoDal.DeleteEntity(userInfo);
}return this.CurrentDBSession.SaveChanges();
}#endregion
#region 03完成用户信息的搜索
public IQueryableLoadSearchEntities(Model.Search.UserInfoSearch userInfoSearch,shortdelFlag)
{var temp = this.CurrentDBSession.UserInfoDal.LoadEntities(c=>c.DelFlag ==delFlag );//根据用户名搜索
if (!String.IsNullOrEmpty(userInfoSearch.UserName))
{
temp= temp.Where(u=>u.UName.Contains(userInfoSearch.UserName));
}if (!String.IsNullOrEmpty(userInfoSearch.UserRemark))
{
temp= temp.Where(u =>u.Remark.Contains(userInfoSearch.UserRemark));
}
userInfoSearch.TotalCount=temp.Count();return temp.OrderByint>(u => u.ID).Skip((userInfoSearch.PageIndex - 1) * userInfoSearch.PageSize).Take(userInfoSearch.PageSize);
}#endregion}
}
UserInfoService
4: 常见的错误:
修改方法 public partial class UserInfoService : BaseService,IUserInfoService 类前加"partial" 关键字
注释到重复方法
最终生成代码
usingBBFJ.OA.IBLL;usingBBFJ.OA.IDAL;usingBBFJ.OA.Model;usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceBBFJ.OA.BLL
{public partial class ActionInfoService :BaseService,IActionInfoService
{public override voidSetCurrentDal()
{
CurrentDal= this.CurrentDBSession.ActionInfoDal;
}
}public partial class DepartmentService :BaseService,IDepartmentService
{public override voidSetCurrentDal()
{
CurrentDal= this.CurrentDBSession.DepartmentDal;
}
}public partial class R_UserInfo_ActionInfoService :BaseService,IR_UserInfo_ActionInfoService
{public override voidSetCurrentDal()
{
CurrentDal= this.CurrentDBSession.R_UserInfo_ActionInfoDal;
}
}public partial class RoleInfoService :BaseService,IRoleInfoService
{public override voidSetCurrentDal()
{
CurrentDal= this.CurrentDBSession.RoleInfoDal;
}
}public partial class UserInfoService :BaseService,IUserInfoService
{public override voidSetCurrentDal()
{
CurrentDal= this.CurrentDBSession.UserInfoDal;
}
}
}
自动生成代码