SdtcnCoder参考了TheBeerHouse的系统结构,采用了三层结构和缓存技术,这里对SdtcnCoder代码生成进行简单介绍.
一、数据类型模型
1、 Field类是字段类型的基类,对SqlServer2005数据列属性进行了映射;
2、 BigInt、Binary等是具体类,如下Binary,主要重写各种数据类型在C#语法中的类型、默认值、字符类型时的长度等;
using System;
using System.Data;
using System.Collections.Generic;
using System.Text;
-
namespace Sdtcn.Coder
{
public class Binary : Field
{
///
/// 构造函数
///
///
public Binary (DataRow row) : base(row)
{
}
///
/// 重写返回C#类型的方法
///
public override string CSharpTypeName
{
get
{
return "Byte[]";
}
}
///
/// 重写返回值
///
public override string DefaultValue
{
get
{
return "null";
}
}
public override string Length
{
get
{
return "(" + this.Max_Length.ToString() + ")";
}
}
}
}
二、代码生成
代码生成主要由Table类负责,主要方法分为生成存储过程、生成DAL、生成BLL、生成Aspx(当前还没有实现,方法和生成BLL雷同)等几类,具体参见源代码。
转载于:https://blog.51cto.com/bbsitsq/1182351