日期:2014-05-17  浏览次数:20926 次

fastCSharp 1.5 代码生成实例 发布
fastCSharp是一个基于.NET元数据的代码生成底层应用框架,目标是打造一个“开发+运行”效率双优的开源框架。
经过半年多的时间(http://bbs.csdn.net/topics/390269709),除了与web开发直接相关的部分,都已经在fastCSharp part 1.5中完成了重写工作。
fastCSharp现在实现的代码生成实例主要有5个

1、基于缓存查询模式的ORM代码生成实例(现在只支持MSSQL),自定义配置类是fastCSharp.setup.cSharp.sqlTable,同时支持反射模式fastCSharp.setup.cSharp.sqlTable.sqlTool<valueType>。
下面是ORM的model定义示例
    [fastCSharp.setup.cSharp.sqlTable(ConnectionName = "Connection1")]
    public partial class model1
    {
        /// <summary>
        /// 自增列,一个表格只允许一个,如果不配置IsIdentity = true,将自动匹配名称为 id 的成员
        /// </summary>
        [fastCSharp.setup.sqlMember(IsIdentity = true)]
        public int id;

        /// <summary>
        /// 关键字1,多个关键字成员按照成员定义顺序一致
        /// </summary>
        [fastCSharp.setup.sqlMember(IsPrimaryKey = true)]
        public int key1;
        /// <summary>
        /// 关键字2
        /// </summary>
        [fastCSharp.setup.sqlMember(IsPrimaryKey = true, IsAscii = true, MaxLength = 32)]

        public string key2;
        public enum EnumByte : byte
        {
             Enum1
        }
        /// <summary>
        /// 直接支持枚举类型转换,可以不指定SqlType = typeof(byte)
        /// </summary>
        [fastCSharp.setup.sqlMember(SqlType = typeof(byte))]
        public EnumByte key2;

        /// <summary>
        /// 指定隐式类型转换
        /// </summary>
        [fastCSharp.setup.sqlMember(SqlType = typeof(string))]
        public partial struct image
        {
            public string url;
            /// <summary>
            /// 如果不能隐式类型转换,必须实现互转函数
            /// </summary>
    &nbs