3。BLL模板
<?xml version="1.0" encoding="UTF-8" ?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/">using System;using System.Collections.Generic;using System.Data.SqlClient;using System.Data;using System.Text;using <xsl:value-of select="TabelModel/NameSpacePri"/>Model;using <xsl:value-of select="TabelModel/NameSpacePri"/>DAL;namespace <xsl:value-of select="TabelModel/NameSpacePri"/>BLL{ public partial class <xsl:value-of select="TabelModel/ModelName"/>BLL { #region 属性/构造函数 /// <summary> /// 数据链路访问对象 /// </summary> private <xsl:value-of select="TabelModel/ModelName"/>DAL DAL = null; /// <summary> /// 默认构造函数 ///</summary> public <xsl:value-of select="TabelModel/ModelName"/>BLL() { DAL = new <xsl:value-of select="TabelModel/ModelName"/>DAL(); } #endregion #region 数据检测 <xsl:if test="TabelModel/HasPK = 'true'"> /// <summary> /// 是否存在指定主键的数据 ///</summary> <xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = 'true']"> /// <param><xsl:attribute name="name"><xsl:value-of select="VarName"/></xsl:attribute>指定<xsl:value-of select="VarName"/></param> </xsl:for-each> /// <returns>True/False</returns> public bool ExistsWithPK(<xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = 'true'][1]/VarType"/><xsl:text> </xsl:text><xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = 'true'][position()>1]">, <xsl:value-of select="VarType"/><xsl:text> </xsl:text><xsl:value-of select="VarName"/></xsl:for-each>) { return DAL.ExistsWithPK(<xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = 'true'][position()>1]">, <xsl:value-of select="VarName"/></xsl:for-each>); } </xsl:if> <xsl:if test="TabelModel/HasLogicKey = 'true'"> /// <summary> /// 是否存在指定逻辑主键的数据 ///</summary> <xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = 'true']"> /// <param><xsl:attribute name="name"><xsl:value-of select="VarName"/></xsl:attribute>指定<xsl:value-of select="VarName"/></param> </xsl:for-each> /// <returns>True/False</returns> public bool ExistsWithLogicKey(<xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][1]/VarType"/><xsl:text> </xsl:text><xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][position()>1]">, <xsl:value-of select="VarType"/><xsl:text> </xsl:text><xsl:value-of select="VarName"/></xsl:for-each>) { return DAL.ExistsWithLogicKey(<xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][position()>1]">, <xsl:value-of select="VarName"/></xsl:for-each>); } </xsl:if> /// <summary> /// 是否存在满足指定条件的数据 ///</summary> /// <param name="strWhere">条件(不包含“Where”关键字)</param> /// <returns>True/False</returns> public bool ExistsWithParam(string strWhere) { return DAL.ExistsWithParam(strWhere); } #endregion #region 数据检索 <xsl:if test="TabelModel/HasPK = 'true'"> /// <summary> /// 根据主键检索数据实体 /// </summary> <xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = 'true']"> /// <param> <xsl:attribute name="name"> <xsl:value-of select="VarName"/> </xsl:attribute> <xsl:value-of select="VarName"/> </param> </xsl:for-each> /// <returns>检索结果</returns> public <xsl:value-of select="TabelModel/ModelName"/>Model Get<xsl:value-of select="TabelModel/ModelName"/>ByPK(<xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = 'true'][1]/VarType"/><xsl:text> </xsl:text><xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = 'true'][position()>1]">, <xsl:value-of select="VarType"/><xsl:text> </xsl:text><xsl:value-of select="VarName"/></xsl:for-each>) { return DAL.Get<xsl:value-of select="TabelModel/ModelName"/>ByPK(<xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = 'true'][position()>1]">, <xsl:value-of select="VarName"/></xsl:for-each>); } </xsl:if> <xsl:if test="TabelModel/HasLogicKey = 'true'"> /// <summary> /// 根据逻辑主键检索数据实体 /// </summary> <xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = 'true']"> /// <param> <xsl:attribute name="name"> <xsl:value-of select="VarName"/> </xsl:attribute> <xsl:value-of select="VarName"/> </param> </xsl:for-each> /// <returns>检索结果</returns> public <xsl:value-of select="TabelModel/ModelName"/>Model Get<xsl:value-of select="TabelModel/ModelName"/>ByLogicKey(<xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][1]/VarType"/><xsl:text> </xsl:text><xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][position()>1]">, <xsl:value-of select="VarType"/><xsl:text> </xsl:text><xsl:value-of select="VarName"/></xsl:for-each>) { return DAL.Get<xsl:value-of select="TabelModel/ModelName"/>ByLogicKey(<xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][position()>1]">, <xsl:value-of select="VarName"/></xsl:for-each>); } </xsl:if> /// <summary> /// 根据条件检索数据实体 /// </summary> /// <param name="strWhere">条件</param> /// <returns>检索结果</returns> public <xsl:value-of select="TabelModel/ModelName"/>Model Get<xsl:value-of select="TabelModel/ModelName"/>ByParam(string strWhere) { return DAL.Get<xsl:value-of select="TabelModel/ModelName"/>ByParam(strWhere); } <xsl:if test="TabelModel/HasPK = 'true'"> /// <summary> /// 根据主键检索数据(DataRow) /// </summary> <xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = 'true']"> /// <param> <xsl:attribute name="name"> <xsl:value-of select="VarName"/> </xsl:attribute> <xsl:value-of select="VarName"/> </param> </xsl:for-each> /// <returns>检索结果</returns> public DataRow GetRowByPK(<xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = 'true'][1]/VarType"/><xsl:text> </xsl:text><xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = 'true'][position()>1]">, <xsl:value-of select="VarType"/><xsl:text> </xsl:text><xsl:value-of select="VarName"/></xsl:for-each>) { return DAL.GetRowByPK(<xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = 'true'][position()>1]">, <xsl:value-of select="VarName"/></xsl:for-each>); } </xsl:if> <xsl:if test="TabelModel/HasLogicKey = 'true'"> /// <summary> /// 根据逻辑主键检索数据(DataRow) /// </summary> <xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = 'true']"> /// <param> <xsl:attribute name="name"> <xsl:value-of select="VarName"/> </xsl:attribute> <xsl:value-of select="VarName"/> </param> </xsl:for-each> /// <returns>检索结果</returns> public DataRow GetRowByLogicKey(<xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][1]/VarType"/><xsl:text> </xsl:text><xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][position()>1]">, <xsl:value-of select="VarType"/><xsl:text> </xsl:text><xsl:value-of select="VarName"/></xsl:for-each>) { return DAL.GetRowByLogicKey(<xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][position()>1]">, <xsl:value-of select="VarName"/></xsl:for-each>); } </xsl:if> /// <summary> /// 根据条件检索数据(DataRow) /// </summary> /// <param name="strWhere">条件</param> /// <returns>检索结果</returns> public DataRow GetRowByParam(string strWhere) { return DAL.GetRowByParam(strWhere); } /// <summary> /// 获取所有数据实体列表 /// </summary> /// <returns>检索结果</returns> public List<xsl:text disable-output-escaping="yes"><</xsl:text><xsl:value-of select="TabelModel/ModelName"/>Model<xsl:text disable-output-escaping="yes">></xsl:text> Get<xsl:value-of select="TabelModel/ModelName"/>List() { return DAL.Get<xsl:value-of select="TabelModel/ModelName"/>List(); } /// <summary> /// 根据条件检索数据实体列表 /// </summary> /// <param name="strWhere">条件</param> /// <returns>检索结果</returns> public List<xsl:text disable-output-escaping="yes"><</xsl:text><xsl:value-of select="TabelModel/ModelName"/>Model<xsl:text disable-output-escaping="yes">></xsl:text> Get<xsl:value-of select="TabelModel/ModelName"/>ListByParam(string strWhere) { return DAL.Get<xsl:value-of select="TabelModel/ModelName"/>ListByParam(strWhere); } /// <summary> /// 获取所有数据列表(DataTable) /// </summary> /// <returns>检索结果</returns> public DataTable GetTable() { return DAL.GetTableByParam(String.Empty); } /// <summary> /// 根据条件获取数据列表(DataTable) /// </summary> /// <param name="strWhere">条件</param> /// <returns>检索结果</returns> public DataTable GetTableByParam(string strWhere) { return DAL.GetTableByParam(strWhere); } #endregion <xsl:if test="TabelModel/IsView = 'false'"> #region 数据增/删/改 /// <summary> /// 新增 ///</summary> /// <param name="model">数据实体</param> /// <returns></returns> public int Add<xsl:value-of select="TabelModel/ModelName"/>(<xsl:value-of select="TabelModel/ModelName"/>Model model) { return DAL.Add<xsl:value-of select="TabelModel/ModelName"/>(model); } <xsl:if test="TabelModel/HasPK = 'true'"> /// <summary> /// 编辑 /// </summary> /// <param name="model">数据实体</param> /// <returns></returns> public int Update<xsl:value-of select="TabelModel/ModelName"/>(<xsl:value-of select="TabelModel/ModelName"/>Model model) { return DAL.Update<xsl:value-of select="TabelModel/ModelName"/>(model); } /// <summary> /// 删除数据实体 /// </summary> /// <param name="model">数据实体</param> /// <returns></returns> public int Delete<xsl:value-of select="TabelModel/ModelName"/>(<xsl:value-of select="TabelModel/ModelName"/>Model model) { return DAL.Delete<xsl:value-of select="TabelModel/ModelName"/>(model); } /// <summary> /// 根据主键删除 /// </summary> <xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = 'true']"> /// <param> <xsl:attribute name="name"> <xsl:value-of select="VarName"/> </xsl:attribute> <xsl:value-of select="VarName"/> </param> </xsl:for-each> /// <returns></returns> public int DeleteWithPK(<xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = 'true'][1]/VarType"/><xsl:text> </xsl:text><xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = 'true'][position()>1]">, <xsl:value-of select="VarType"/><xsl:text> </xsl:text><xsl:value-of select="VarName"/></xsl:for-each>) { return DAL.DeleteWithPK(<xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = 'true'][position()>1]">, <xsl:value-of select="VarName"/></xsl:for-each>); } </xsl:if> <xsl:if test="TabelModel/HasLogicKey = 'true'"> /// <summary> /// 编辑(根据逻辑主键) /// </summary> /// <param name="model">数据实体</param> /// <returns></returns> public int Update<xsl:value-of select="TabelModel/ModelName"/>WithLogicKey(<xsl:value-of select="TabelModel/ModelName"/>Model model) { return DAL.Update<xsl:value-of select="TabelModel/ModelName"/>WithLogicKey(model); } /// <summary> /// 删除数据实体(根据逻辑主键) /// </summary> /// <param name="model">数据实体</param> /// <returns></returns> public int Delete<xsl:value-of select="TabelModel/ModelName"/>WithLogicKey(<xsl:value-of select="TabelModel/ModelName"/>Model model) { return DAL.Delete<xsl:value-of select="TabelModel/ModelName"/>WithLogicKey(model); } /// <summary> /// 根据逻辑主键删除 /// </summary> <xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = 'true']"> /// <param> <xsl:attribute name="name"> <xsl:value-of select="VarName"/> </xsl:attribute> <xsl:value-of select="VarName"/> </param> </xsl:for-each> /// <returns></returns> public int DeleteWithLogicKey(<xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][1]/VarType"/><xsl:text> </xsl:text><xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][position()>1]">, <xsl:value-of select="VarType"/><xsl:text> </xsl:text><xsl:value-of select="VarName"/></xsl:for-each>) { return DAL.DeleteWithLogicKey(<xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][position()>1]">, <xsl:value-of select="VarName"/></xsl:for-each>); } </xsl:if> /// <summary> /// 根据条件删除 /// </summary> /// <param name="strWhere">条件</param> /// <returns>删除条数</returns> public int DeleteByParam(string strWhere) { return DAL.DeleteByParam(strWhere); } #endregion </xsl:if> }} </xsl:template></xsl:stylesheet>
OK!写完了大家自己写个试试吧!(*^__^*)