`
pcajax
  • 浏览: 2184575 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

codesmith 数据层 模板 让操作更简单

阅读更多

 

<%@ CodeTemplate Language="C#" TargetLanguage="Text" Src="" Inherits="" Debug="False" Description="Template description here." %>
<%@ Assembly Name="SchemaExplorer" %>

<%@ Assembly Name="System.Data" %>

<%@ Property Name="TargetTable" Type="SchemaExplorer.TableSchema" Category="Context"      Description="TargetTable that the object is based on." %>

<%@ Property Name="Author" Type="System.String" Default="Xiao ChangJian"  Category="Context"  Description="The author for this procedure." %>

<%@ Property Name="NameSpace" Type="System.String" Default="MySpace"  Category="Context"  Description="TargetTable that the object is based on." %>

<%@ Property Name="Description" Type="System.String" Default="" Category="Context" Description="The description for this procedure."%>

<%@ Map Name="CSharpAlias" Src="System-CSharpAlias" Description="System to C# Type Map" %>

<%@ Import Namespace="SchemaExplorer" %>

<%@ Import Namespace="System.Data" %>

/* ----------------------------------------------------------------------

* File Name: <%= GetTableName(TargetTable) %>Dal.cs

*

* Create Author: <%= Author %>

*

* Create DateTime: <%=DateTime.Now.ToShortDateString() %>

*

* Description: <%= Description %>

*----------------------------------------------------------------------*/

using System;

using System.Collections.Generic;

using System.Text;

using System.Data;

using System.Data.SqlClient;

using DBUtilitys;

namespace <%= NameSpace %>

{

public class <%= GetTableName(TargetTable) %>Dal

{

private static readonly <%= GetTableName(TargetTable) %>Dal _classinstance = new <%= GetTableName(TargetTable) %>Dal();

public static <%= GetTableName(TargetTable) %>Dal ClassInstance {get{return _classinstance; }}

/// <summary>

/// Add Record

/// </summary>

public int Insert_<%= GetTableName(TargetTable) %>(<%= GetTableName(TargetTable) %>Model instance)

{

string executesqlstr =  "INSERT INTO <%= TargetTable.Name %> (<%= GetColumnNameNoPK(TargetTable) %> ) VALUES (<%= EvaluateColumnValueNoPK(TargetTable) %>)";

SqlParameter[] para = new SqlParameter[] {

<% int i = 0; foreach(ColumnSchema column in TargetTable.NonPrimaryKeyColumns){ %>

new SqlParameter("@<%= column.Name %>",instance.<%= column.Name %>)<% if(i < TargetTable.Columns.Count-2){%>,<%} %>

<% i++; } %>

};

return SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnectionString, CommandType.Text, executesqlstr, para);

}

/// <summary>

/// Delete Record

/// </summary>

public int Delete_<%= GetTableName(TargetTable) %>(String pkid)

{

string executesqlstr = "DELETE <%= TargetTable.Name %> WHERE <%= GetPrimaryKeyName(TargetTable) %> = @<%= GetPrimaryKeyName(TargetTable) %>";

SqlParameter[] para = new SqlParameter[] {

new SqlParameter("@<%= GetPrimaryKeyName(TargetTable) %>",pkid)

};

return SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnectionString, CommandType.Text, executesqlstr, para);

}

/// <summary>

/// Update Record

/// </summary>

public int Update_<%= GetTableName(TargetTable) %>(<%= GetTableName(TargetTable) %>Model instance)

{

string executesqlstr = "UPDATE <%= TargetTable.Name %> SET <%= UpdateColumn(TargetTable) %> WHERE <%= GetPrimaryKeyName(TargetTable) %> = @<%= GetPrimaryKeyName(TargetTable) %>";

SqlParameter[] para = new SqlParameter[] {

<% int j = 0; foreach(ColumnSchema column in TargetTable.Columns){ %>

new SqlParameter("@<%= column.Name %>",instance.<%= column.Name %>)<% if(j < TargetTable.Columns.Count-1){%>,<%} %>

<% j++; } %>

};

return SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnectionString, CommandType.Text, executesqlstr, para);

}

/// <summary>

/// Get Record By Primary Key

/// </summary>

public <%= GetTableName(TargetTable) %>Model Get_<%= GetTableName(TargetTable) %>ByPKID(String pkid)

{

string executesqlstr = "SELECT <%= GetColumnName(TargetTable) %> FROM <%= GetTableName(TargetTable) %> WHERE <%= GetPrimaryKeyName(TargetTable) %> = @<%= GetPrimaryKeyName(TargetTable) %>";

SqlParameter[] para = new SqlParameter[] {

new SqlParameter("@<%= GetPrimaryKeyName(TargetTable) %>",pkid)

};

<%= GetTableName(TargetTable) %>Model modelinstance = new <%= GetTableName(TargetTable) %>Model();

using (SqlDataReader sdr = SqlHelper.ExecuteReader(SqlHelper.SqlConnectionString, CommandType.Text, executesqlstr, para))

{

if (sdr.Read())

{

modelinstance = EvaluateModel(sdr);

}

}

return modelinstance;

}

 

 

分享到:
评论

相关推荐

    CodeSmith简单三层模板

    这个“CodeSmith简单三层模板”是专门为开发人员设计的一个资源,旨在实现快速构建具备基本三层架构的应用程序。 三层架构是一种常见的软件设计模式,通常包括表示层(UI)、业务逻辑层(BLL)和数据访问层(DAL)...

    CodeSmith三层模板

    本资源“CodeSmith三层模板”专为构建典型的三层架构(表现层BLL、数据访问层DAL、实体模型Models)设计,旨在帮助开发者快速生成规范化的代码。 一、CodeSmith简介 CodeSmith是一款基于模板的代码生成工具,通过...

    CodeSmith 简单三层模板

    总结来说,这个"CodeSmith 简单三层模板"是一个针对小项目的快速开发解决方案,它利用CodeSmith工具和SQLHelper类库,帮助开发者生成基于ASP.NET的三层架构应用,其中包含了表现层、业务逻辑层和数据访问层的代码...

    CodeSmith 生成三层模板

    通过使用CodeSmith生成三层模板和SqlHelper,开发者可以快速搭建起一个基础的、具备数据访问能力的.NET应用程序框架,极大地减少了编码工作量,使得开发者能更专注于业务逻辑的实现和系统的优化。这不仅提高了开发...

    CodeSmith Templates 简单三层模板改进版

    CodeSmith Templates是一款强大的代码生成工具,它允许开发者创建自定义模板来快速...总的来说,"CodeSmith Templates 简单三层模板改进版"是一个强大的工具,可以帮助开发者更高效地构建和管理三层架构的应用程序。

    codesmith 3层模板

    **codesmith 3层模板详解** `Codesmith`是一款强大的代码生成工具,它能够帮助开发者快速构建应用程序,尤其是企业级的三层架构应用。本模板专为实现简洁、高效的三层架构设计而定制,大大提升了开发效率,降低了...

    codesmith 3层代码生成模板

    总结,Codesmith的3层代码生成模板为开发者提供了强大的工具,使得构建3层架构的系统变得简单而高效。通过熟练掌握和运用这些模板,可以显著提升开发效率,降低维护成本,使开发者更专注于业务创新而非基础代码的...

    简单的CodeSmith模板

    7. **Tgr_First.cst模板详解**:虽然具体模板内容未给出,通常情况下,"Tgr_First.cst"可能是一个基础模板,用于生成特定类型的代码,比如实体类或者数据访问层的代码。它可能包含了数据库表字段的映射、属性定义...

    CodeSmith简单模板.rar

    在这个名为"CodeSmith简单模板.rar"的压缩包中,包含了用于创建三层架构(表现层、业务逻辑层、数据访问层)的模板文件。 首先,我们来看看`DBHelper.cs`。这个文件通常代表数据库帮助类,它是数据访问层(DAL,...

    基于sql动态参数的三层简单的CodeSmith模板

    这个"基于sql动态参数的三层简单的CodeSmith模板"是为构建快速、高效的.NET三层架构设计的。三层架构通常包括表现层(Presentation Layer)、业务逻辑层(Business Logic Layer)和数据访问层(Data Access Layer)...

    支持多数据库的codesmith三层架构模版

    4. **Dal.cst**:数据访问层模板,包含了对数据库操作的抽象接口或者基类,定义了数据操作的通用方法,如GetAll、GetById等。 5. **Db.Dal.cst**:可能是针对特定数据库的数据访问层实现,如SQL Server的DAL实现,...

    基于sqlserver库的CodeSmith模板

    在本案例中,我们关注的是一个基于SQL Server数据库的CodeSmith模板,这个模板专为三层架构设计,适用于那些需要构建数据访问层、业务逻辑层和表现层的项目。 首先,三层架构是一种常见的软件设计模式,它将应用...

    codesmith生成实体类、数据层类、和存储过程

    codesmith生成的数据层类通常包含了CRUD(Create、Read、Update、Delete)操作的方法,如Insert、Get、Update、Delete等,这些方法直接与数据库的存储过程进行交互,提供了简单而直接的接口供业务层调用。...

    codesmith 最新三层架构 模板

    1. **数据访问层(DAL)**:在codesmith的模板中,`SqlHelper.cs` 文件可能包含了数据访问的相关代码。这部分通常负责与数据库进行交互,执行SQL语句,如增删改查操作。通过封装数据库操作,可以使得业务逻辑层对...

    CodeSmith软件以及三层结构代码生成模板及DBHelper类

    使用CodeSmith结合三层结构模板,可以快速地为每个数据表生成对应的模型类、数据访问接口和实现,以及业务逻辑类。 在描述中提到的DBHelper类,通常是在数据访问层中使用的一个通用数据库操作类。DBHelper作为一个...

    codeSmith常用模板

    - **模板语言**: CodeSmith使用其自定义的模板语言,允许用户通过简单的语法创建复杂的代码生成逻辑。 - **模板结构**: 模板由文本、控制流(如循环、条件语句)和嵌入的C#代码组成,以`.cshtml`或`.cst`为扩展名...

    CodeSmith 三层生成模板

    “简单三层模版”可能是指CodeSmith中预设的一个模板,该模板专门用于生成简单的三层架构项目,可能包括基本的BLL、DAL和Model类,适合初学者或者小型项目使用。用户可以根据自己的需求调整或扩展这个模板,以适应更...

    CodeSmith模板集合C#版

    CodeSmith模板集合提供的对象持久化模板,可能包括了数据访问层(DAL)的生成,例如创建DAO(数据访问对象)类、实体类以及CRUD(创建、读取、更新、删除)操作的方法。这些模板能够自动生成与数据库表对应的C#类,...

    CodeSmith模板-V9.0版

    CodeSmith的DAL模板能够自动生成与数据库表对应的实体类和数据访问接口,使得数据操作更加简单且封装良好。 2. 业务逻辑层(BLL):位于中间层,处理业务规则和流程。BLL模板会生成与DAL交互的方法,对数据进行处理...

Global site tag (gtag.js) - Google Analytics