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预览功能如下图: