已经实现功能
最后更新:2009-3-23 9:23
支持SQL SERVER数据库
支持基于模板NVelocity的代码生成功能
基本所有实体都支持别名功能
新增远程数据库信息与本地库信息的更新功能
自带了一个简单三层模板和一个简单的数据库信息
项目使用了分部类,相关信息请参见http://www.cnblogs.com/kkun/archive/2009/02/05/1384870.html
未实现功能
本地数据与服务器上的信息的同步更新功能未实现
NVelocity 模板的自动更新到本地和共享到线上功能未实现
界面预览
第一次打开时,需要首先导入数据库数据,为以后生成代码准备原始数据,为什么不直接使用读取到的数据库的信息呢?因为我没那么设计
删除数据库的时候,因为要删除其下的所有表及所有表下的所有字段,速度有些慢
预览界面
数据结构
其中
- SolutionEntity 解决方案实体
- DataServerEntity 服务器实体
- DataBaseEntity 数据库实体
- DataTableEntity 表实体
- DataFieldEntity 字段实体
- ProjEntity 项目实体
- TemplateEntity 模板实体
- HelpEntity 帮助实体
- SolutionBLL 解决方案业务层
- DataServerBLL 服务器业务层
- DataBaseBLL 数据库业务层
- DataTableBLL 表业务层
- DataFieldBLL 字段业务层
- ProjBLL 项目业务层
- TemplateBLL 模板业务层
- HelpBLL 帮助业务层
- SolutionDAL 解决方案数据库层
- ProjDAL
- DataServerDAL
- DataBaseDAL
- DataTableDAL
- DataFidldDAL
- TemplateDAL
- HelpDAL
建库SQL(sqlite3)
Code
CREATE TABLE [DataBaseEntity] (
[ID] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
[ServerID] INTEGER NULL,
[Name] NVARCHAR(50) NULL,
[Nickname] NVARCHAR(50) NULL,
[IsIncluded] BOOLEAN DEFAULT '1' NOT NULL,
[Guid] NVARCHAR(50) NULL
);
CREATE TABLE [DataFieldEntity] (
[ID] INTEGER PRIMARY KEY NOT NULL,
[DBID] INTEGER NOT NULL,
[TBID] INTEGER NOT NULL,
[Name] NVARCHAR(50) NOT NULL,
[Nickname] NVARCHAR(50) NOT NULL,
[IsIncluded] BOOLEAN NOT NULL,
[FieldIndex] INTEGER NOT NULL,
[FieldType] NVARCHAR(50) NOT NULL,
[FieldLen] INTEGER NOT NULL,
[FieldRemark] NVARCHAR(50) NULL,
[FieldColumnDef] NVARCHAR(50) NULL,
[FieldNullable] BOOLEAN NOT NULL,
[IsPrimaryKey] BOOLEAN NOT NULL,
[Guid] NVARCHAR(50) NULL
);
CREATE TABLE [DataServerEntity] (
[ID] INTEGER PRIMARY KEY NOT NULL,
[SlnID] INTEGER DEFAULT '0' NULL,
[Name] NVARCHAR(50) NOT NULL,
[UserName] NVARCHAR(50) NOT NULL,
[UserPass] NVARCHAR(50) NOT NULL,
[ServerName] NVARCHAR(50) NOT NULL,
[IsIncluded] BOOLEAN DEFAULT '1' NOT NULL,
[IsFirstConnection] BOOLEAN DEFAULT '0' NOT NULL,
[Guid] NVARCHAR(50) NULL
);
CREATE TABLE [DataTableEntity] (
[ID] INTEGER PRIMARY KEY NOT NULL,
[DBID] INTEGER NOT NULL,
[Name] NVARCHAR(50) NOT NULL,
[Nickname] NVARCHAR(50) NOT NULL,
[IsIncluded] BOOLEAN NOT NULL,
[Guid] NVARCHAR(50) NULL
);
CREATE TABLE [HelpEntity] (
[ID] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
[Name] NVARCHAR(50) NOT NULL,
[Nickname] NVARCHAR(50) NOT NULL,
[IsIncluded] BOOLEAN DEFAULT '0' NOT NULL,
[Guid] NVARCHAR(50) NOT NULL,
[Text] TEXT DEFAULT '''帮助''' NOT NULL
);
CREATE TABLE [ProjEntity] (
[ID] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
[SlnID] INTEGER NOT NULL,
[Name] NVARCHAR(50) NOT NULL,
[Nickname] NVARCHAR(50) NOT NULL,
[Path] NVARCHAR(200) NOT NULL,
[Guid] NVARCHAR(50) NOT NULL,
[IsIncluded] BOOLEAN DEFAULT '''1''' NOT NULL
);
CREATE TABLE [SolutionEntity] (
[ID] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
[Name] NVARCHAR(50) NOT NULL,
[Nickname] NVARCHAR(50) NOT NULL,
[Guid] NVARCHAR(50) NOT NULL,
[IsIncluded] BOOLEAN DEFAULT '''1''' NOT NULL
);
CREATE TABLE [TemplateEntity] (
[ID] INTEGER PRIMARY KEY NOT NULL,
[ProjID] INTEGER DEFAULT '-1' NOT NULL,
[Name] NVARCHAR(50) NOT NULL,
[Nickname] NVARCHAR(50) NOT NULL,
[Text] NVARCHAR(50) NOT NULL,
[FilePath] NVARCHAR(50) NOT NULL,
[IsIncluded] BOOLEAN NOT NULL,
[IsCreateOnce] BOOLEAN NOT NULL,
[Extension] NVARCHAR(50) NOT NULL,
[Guid] NVARCHAR(50) NULL
);
操作时序图
项目结构
其中
- Tstring.Core.Attribute 类特性项目,不参与代码生成业务
- Tstring.Core.BLL 这个好说,业务逻辑类
- Tstirng.Core.Builder 主项目,相关窗口啥的
- Tstring.Core.DAL 数据库服务层
- Tstring.Core.Editor 可以忽略此项目,本意为设计attribute的编辑窗口,后不了了之
- Tstring.Core.Entity 实体定义项目
- Tstring.Core.Interface 接口定义
- Tstring.Core.Util 公用项目
第三方插件一览
相关信息都可以在网上搜索得到,不多作介绍,
所有需要引用的DLL都在Tstring.Core.Builder/Inc目录下,请自行修改引用
-
ICSharpCode.TextEditor 代码高亮插件
-
MagicLibrary 窗口停靠控件
-
NVelocity 模板生成插件
-
WeifenLuo.WinFormsUI.Docking 另一个窗口停靠插件,嫌它收缩窗口时的速度太慢,仅使用了它的TAB部分
-
System.Data.SQLite SQLITE数据库的插件
视频下载
https://files.cnblogs.com/kkun/tstring.core.builder_Screen_Stream.rar
软件下载
http://www.skycn.com/soft/53263.html
源码下载
https://files.cnblogs.com/kkun/Tstring.Core.Builder_Source.rar
作者语
当前版本:v1.8
运行库版本 .NET Framework 3.5
开发工具:Visual Studio 2008,Sqlite Administrator
开源协议GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999
真诚期待每一个建议,意见及讨论,请您发邮件到hebkkun@163.com,kkun
http://www.cnblogs.com/TerryLiang/archive/2009/03/21/1418157.html