`
lovnet
  • 浏览: 6819381 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

CodeSmith生成三层代码之实体层(1)

阅读更多
<%@ CodeTemplate Language="C#" ResponseEncoding="UTF-8" TargetLanguage="Text" Src="" Debug="False" Description="Template description here." %>
<%@ Property Name="SourceTable" Type="SchemaExplorer.TableSchema" Category="Context" Description="请选择数据表!" %>
<%@ Property Name="NameSpace" Type="System.String" Default="" Optional="False" Category="Description" Description="请输入命名空间" %>
<%@ Property Name="Author" Type="System.String" Default="Pantao" Optional="False" Category="Description" Description="About Author" %>
<%@ Assembly Name="SchemaExplorer" %>
<%@ Import Namespace="SchemaExplorer" %>

/*************************************************************/
/* CodeSmith模板生成实体类 */
/*************************************************************/
using System;
namespace <%=NameSpace%>.Model
{
/// <summary>
/// <%=SourceTable.Description%>
/// </summary>
public class <%=SourceTable.Name%>
{
<% for(int i=0; i<SourceTable.Columns.Count; i++) { %>
/// <summary>
/// <%=SourceTable.Columns[i].Description%>
/// </summary>
public <%=GetSqlParameterStatement(SourceTable.Columns[i]) + " " + SourceTable.Columns[i].Name%> {get; set;}
<%}%>
}
}

<script runat="template">
public string GetSqlParameterStatement(ColumnSchema column)
{
string para = "";
if (column.Name.EndsWith("TypeCode"))
return column.Name;
switch (column.DataType)
{
case DbType.AnsiString:
para = "string";
break;
case DbType.AnsiStringFixedLength:
para = "string";
break;
case DbType.Binary:
para = "byte[]";
break;
case DbType.Boolean:
para = "bool";
break;
case DbType.Byte:
para = "int";
break;
case DbType.Currency:
para = "decimal";
break;
case DbType.Date:
para = "DateTime";
break;
case DbType.DateTime:
para = "DateTime";
break;
case DbType.Decimal:
para = "decimal";
break;
case DbType.Double:
para = "double";
break;
case DbType.Guid:
para = "Guid";
break;
case DbType.Int16:
para = "short";
break;
case DbType.Int32:
para = "int";
break;
case DbType.Int64:
para = "long";
break;
case DbType.Object:
para = "object";
break;
case DbType.SByte:
para = "sbyte";
break;
case DbType.Single:
para = "float";
break;
case DbType.String:
para = "string";
break;
case DbType.StringFixedLength:
para = "string";
break;
case DbType.Time:
para = "TimeSpan";
break;
case DbType.UInt16:
para = "ushort";
break;
case DbType.UInt32:
para = "uint";
break;
case DbType.UInt64:
para = "ulong";
break;
case DbType.VarNumeric:
para = "decimal";
break;
default:
para = "__UNKNOWN__" + column.NativeType;
break;
}
if(para == "string")
return para;
if(column.AllowDBNull)
para = para + "?";
return para;
}
</script>

分享到:
评论

相关推荐

    CodeSmith生成三层访问代码

    在本案例中,我们关注的是如何使用CodeSmith来生成三层架构的访问代码,这通常涉及到数据访问层(DAL)、业务逻辑层(BLL)和表现层(UI)。 三层架构是一种常见的软件设计模式,它将应用逻辑分为三个独立的层次,...

    codeSmith自动生成三层中的代码

    在使用CodeSmith生成三层架构代码时,你需要创建相应的模板文件。模板语言是CodeSmith的强项,它允许使用C#或其他.NET语言的语法来定义模板。例如,你可以创建一个模板来生成基于Entity Framework的DAL,另一个模板...

    ASP.NET 中 CodeSmith可以自动生成三层代码

    通过以上步骤,开发者可以利用CodeSmith在ASP.NET项目中快速生成符合三层架构的代码,从而节省大量手动编码的时间,提高项目的开发速度。同时,由于模板的灵活性,即使项目需求变更,只需更新模板即可自动生成适应新...

    CodeSmith三层代码生成模板

    在CodeSmith生成的三层代码中,这一层负责与用户交互,接收用户的输入并显示结果。它不包含具体的业务逻辑,而是调用业务逻辑层来处理这些请求。文件名`DBMad.BLL.cst`可能包含了与业务逻辑层交互的接口或代理类。 ...

    普通 codesmith三层代码生成模板

    "普通 codesmith三层代码生成模板" 是一个专为C#开发者设计的工具,用于自动化生成代码,特别是在开发三层架构的应用程序时。三层架构通常包括表现层(Presentation Layer)、业务逻辑层(Business Logic Layer)和...

    CodeSmith .net 三层自动生成模板

    总结来说,CodeSmith .NET 2.0三层自动生成模板是一个强大的开发辅助工具,它可以帮助开发者快速构建符合三层架构的项目,提高开发效率,并保持代码的结构清晰和易于维护。通过熟练掌握和利用CodeSmith,开发者可以...

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

    使用CodeSmith生成DBHelper类,开发者需要定义一个模板,该模板包含创建数据库连接、执行SQL语句和处理结果集的逻辑。模板中可以使用变量来动态地设置数据库连接字符串和其他参数,确保代码的灵活性。生成的DBHelper...

    C#版 -- 实用性CodeSmith模板(自动生成三层架构底层代码)

    "C#版 -- 实用性CodeSmith模板(自动生成三层架构底层代码)"这个项目专注于为C#开发者提供一套定制的CodeSmith模板,用于快速构建三层架构的应用程序。模板的设计理念是减轻开发者手动编写基础架构代码的负担,让...

    .net三层模板 可以减轻代码量,适用于中、小型项目的代码生成 CodeSmith

    使用CodeSmith生成这些模板代码,开发者可以从繁琐的基础代码编写工作中解脱出来,更专注于业务逻辑的设计和实现。此外,由于CodeSmith支持自定义模板,所以可以根据项目需求定制化生成代码,提高开发效率和代码质量...

    CodeSmith三层模板

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

    CodeSmith生成数据库3层实体类模板

    CodeSmith生成数据库3层实体类模板,可以生成Model,DAL,BLL的3层数据库逆向到C#的实体类代码,高效方便地帮助程序员节省时间,更集中精力在真正的业务逻辑上,减少重复劳动 模板可以手动修改,微调以适应项目的...

    CodeSmith简单三层模板

    这个“CodeSmith简单三层模板”很可能包含了一些预定义的模板文件,用于生成常见的三层架构代码,例如: - UI层的接口和实现类,可能包含控制器或视图模型。 - BLL层的业务实体类和业务逻辑处理类。 - DAL层的数据...

    codesmith 3层代码生成模板

    三、Codesmith 3层代码生成模板的构成 Codesmith的3层代码生成模板包括了对应3层架构中的各个部分: 1. 实体类模板(Entities):生成表示数据库表的实体类,通常包括属性,对应数据库表的字段。 2. 数据访问接口...

    codesmith3.2三层模板

    总的来说,codesmith3.2三层模板通过自动化代码生成,降低了开发复杂度,提高了代码一致性,使得团队协作更为顺畅。同时,它遵循了良好的软件设计原则,让每个层次的代码职责明确,降低了系统维护难度。对于大型项目...

    CodeSmith可以自动生成三层代码的模板

    总的来说,CodeSmith通过自动生成三层架构的代码,降低了开发复杂度,提高了开发效率。无论是初创项目还是已有系统的扩展,都能从中受益。利用CodeSmith,开发者可以将精力集中在核心业务逻辑上,而把繁琐的代码生成...

    CodeSmith 三层结构批量生成模板

    5. **版本控制**:与版本控制系统(如Git)结合使用,CodeSmith生成的代码可以被有效地跟踪和管理,确保团队协作的顺畅。 6. **性能优化**:通过自动化生成代码,可以减少不必要的重复工作,使得开发团队有更多时间...

    .net自动生成三层代码模板

    本文将深入探讨如何使用.NET来自动生成三层架构的代码模板,并介绍相关实体类的生成。 首先,表现层是用户与应用交互的部分,通常包括ASP.NET Web Forms、MVC或Blazor等技术。这一层负责接收用户输入,显示输出,并...

    codesmith实体类三层model,DAL,BLL

    codesmith实体类三层model,DAL,BLL

    CodeSmithModel生成三层架构的模板(全套)

    3. **CodeSmithModel生成三层架构模板**: - 表现层模板:可以生成ASP.NET MVC控制器、视图,或者是Windows Forms/WPF的数据绑定控件,实现数据展示和用户交互。 - 业务逻辑层模板:可以生成服务接口和实现,包括...

Global site tag (gtag.js) - Google Analytics