tt c mysql t4 bll_通过T4模板实现代码自动生成

1:准备.tt模板

071b9c07855ff108dbf93e9ebb883df3.png

ef0b22e376e38997e907b437a93e4cfe.png

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

并注释掉重复内容

071b9c07855ff108dbf93e9ebb883df3.png

ef0b22e376e38997e907b437a93e4cfe.png

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: 常见的错误:

d2f4cb1719be5ac377ae4efb23af8663.png

修改方法 public partial class UserInfoService : BaseService,IUserInfoService 类前加"partial" 关键字

c7057faaf1dc6c91452ec4bb77048632.png

注释到重复方法

962e5dc9d7eb5103597cb4ec7fcb5b20.png

最终生成代码

071b9c07855ff108dbf93e9ebb883df3.png

ef0b22e376e38997e907b437a93e4cfe.png

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;

}

}

}

自动生成代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值