为什么80%的码农都做不了架构师?>>>   
DataUML 1.2版本在软件架构上有了很大的变化,目前DataUML支持Access、SQLite、MY SQL 、ORACLE、MS SERVER2000、MS SERVER2005、MS SERVER2008数据库。 下载
 主要更新内容如下:
  1、支持SQLite数据库,支持生成SQLite数据库模型;
  2、支持生成SQLite数据库代码;
  3、支持数据表字段自定义属性;
  4、数据表属性、字段属性、键属性和索引属性;
  5、支持用户自定义类型;
  6、支持表索引;
  7、支持生成、批量导出SQL语句以及SQL预览功能;
 
软件主界面
下面我将介绍1.2版本主要更新的内容。
一、支持SQLite数据库
  1、点击工具栏上的
 按钮,出现下拉菜单如下图:
  点击“SQLite”,出现连接SQLite数据库的界面,如下图:
     
点击“确定”,这样我们就可以成功连接SQLite数据库了。
成功连接数据库之后,选择数据库节点,右键“生成数据模型”,这里我们选择C#模型,如下图成功生成了SQLite数据库模型

这样数据模型和SQLite数据库绑定了,修改数据模型可以直接同步到SQLite数据库,具体操作这里不演示了。
二、支持生成SQLite数据库代码
选择右边的SQLiteDAL.tt”模板文件,选中模型中的表,右键点击“查看代码”,如下图

就可以成功生成SQLite代码了。如下图

三、数据表字段自定义属性
数据表的字段可以自己定义一些自定义属性,如下图

生成代码的时候可以得到字段的自定义属性值。如下图

获得字段自定义属性的模板代码如下:
命名空间:<#= host.ClassProperty.Namespace #>
类名:<#= host.ClassProperty.ClassName #>
类中文名:<#= host.ClassProperty.ClassOtherName #>
表名:<#= host.ClassProperty.TableName #>
可访问性:<#= host.ClassProperty.Accessibility==null?"":host.ClassProperty.Accessibility #>
修饰符:<#= host.ClassProperty.Modifier==null?"":host.ClassProperty.Modifier #>
用户:<#= host.ClassProperty.User==null?"":host.ClassProperty.User #> 
备注:<#= host.ClassProperty.Remarks #>
数据库类型:<#= host.ClassProperty.DataAccessType #>
语言:<#= host.ClassProperty.ProjectLanage #>
字段:
<# foreach(var f in host.ClassProperty.Fields)
{
    WriteLine("    属性名:"+f.PropertyName);
    WriteLine("    属性别名:"+f.PropertyOtherName);
    WriteLine("    属性类型:"+f.DataType);
    WriteLine("    修饰符:"+f.Modifier);
    WriteLine("    可访问性:"+f.Accessibility);
    WriteLine("    是否空类型:"+f.IsNullType);
    WriteLine("    初始值:"+f.InitialValue);
    WriteLine("    是否只读:"+f.IsReadable);
    WriteLine("    是否可写:"+f.IsWritable);
    WriteLine("    字段名:"+f.FieldName);
    WriteLine("    字段类型:"+f.FieldType);
    WriteLine("    长度:"+f.FieldLength);
    WriteLine("    自增字段:"+f.isIdentity);
    WriteLine("    是否为空:"+f.IsNull);
    WriteLine("    是否主键:"+f.IsPrimaryKey);
    if(f.IsPrimaryKey)
    {
      WriteLine("    主键类型:"+f.PrimaryKeyType);
    }
    WriteLine("    是否外键:"+f.IsForeignKey);
    WriteLine("    默认值:"+f.DefaultValue);
    WriteLine("    备注信息:"+f.Remarks);
    if(f.Attributes.Count>0)
    {
    WriteLine("    属性:");
    foreach(var p in f.Attributes)
    {
     WriteLine("        属性名:"+p.Name);
     WriteLine("        属性值:"+p.Value);
    }
    }
    if(f.CustomAttributes.Count>0)
    {
    WriteLine("    自定义属性:");
    foreach(var p in f.CustomAttributes)
    {
     WriteLine("        属性名:"+p.Name);
     WriteLine("        属性值:"+p.Value);
    }
    }
    WriteLine("    ----------------");
}
#>  
四、数据表属性、字段属性、键属性和索引属性
1、MY SQL数据库的数据表属性,如下图

2、MY SQL数据库的数据表字段属性,如下图

3、MS SERVER数据库的主键属性,如下图

4、MS SERVER数据库的外键属性,如下图

5、MS SERVER数据库的索引属性,如下图

五、支持用户自定义类型
用户可以自己定义数据类型,如有时候我们需要以GUID来作为表的主键,这时我们可以定义一个GUID类型的字段类型。具体操作流程:选择数据模型节点,右键,在弹出的菜单中选择“设置”,如下图

这里我们定义GUID的类型为nvarchar,长度为38,我们就可以使用这个数据类型了,如下图

六、支持表索引;
增加对数据表索引的支持,主要表现在以下几个方面:
1)、从数据库反射出模型时,把表索引信息也反射出来了;
2)、支持索引属性信息;
3)、支持索引信息和数据库表索引同步;
4)、支持生成索引的SQL语句;
七、支持生成和批量导出SQL语句;
选择数据模型节点,右键,如下图:

选择“生成SQL...”可以生成完整的数据库SQL语句,如下图

选择“导出SQL...”可以把SQL语句保存到文本文件中。
SQL预览功能如下图:
