简介
Entity Model Studio(EMStudio)是一个用于辅助软件开发设计的工具软件。该工具集面向对象的静态建模,物理数据库设计,代码生成于一体,并将三者完善而流畅的统一了起来。 Entity Model Studio 还包括了一个完全自主研发的功能强大的ORM框架,从而得以在静态建模,数据库设计,代码生成以及编码开发等多个方面显著提升开发者的生产力。目前发布的最高版本是1.3.1,即将发布的最新版本是1.3.2。在最新版本中将支持Access数据库。请联系广联科技获得更多信息,我们的官网是http://www.WideUnion.com
功能
● 基于UML标准的模型设计
Entity Model Studio提供了一个基于UML标准的图形化建模方法,同时又对UML做了适当的裁剪,从而既保留UML的价值又使得用户十分容易使用。基于已有的知识和经验就可以掌握Entity Model Studio的使用。
● 数据库设计
Entity Model Studio的数据库设计和实体的静态模型是高度结合的,所以提供了一种面向对象的物理数据库设计方式,完整的将实体模型中的继承和多态特性在数据库设计中得到体现。同时Entity Model Studio提供数据库生成,数据库同步以及从数据库逆向生成实体模型等功能,为开发者提供了更多的便利。目前Entity Model Studio支持Sql Server(2005)和Oracle(10g)两种数据库。
● 代码及文档生成
Entity Model Studio目前支持C#和VB.NET两种不同语言的源代码生成功能。源代码中各个实体类以及内容和静态模型中的实体是一致的,源代码完全是根据模型来生成。Entity Model Studio同时也支持数据库文档的生成,该文档描述了数据库中各表的结构。
● Eql
Eql是实体查询语言(Entity Query Language)的缩写。Eql是EMLib实现的一个基于宿主语言的Sql语句构造编程接口。该接口可以非常方便灵活的构造出各种复杂程度的Eql语句对象。Eql语句对象既可以被EMLib框架使用从而完成所有强大的ORM功能,也可以用与生成与Eql语句对象完全等价的Sql语句文本,从而使用传统的方式完成数据库操作。使用Eql可以完全告别传统字符串拼接Sql语句的低效方式,从而显著提高开发效率。
● ORM功能
所有的ORM功能由广联科技独立自主研发的ORM框架EMLib完成,这个框架实现了强大的ORM功能。对数据库的所有操作是完全面向对象的并且完善支持多态特性,对于实体的关系和实体属性方面也完善的支持。同时EMLib还提供懒加载,数据刷新,可控制的级联操作,内存(全局)事务,全局对象查询等功能和机制,从而实现了完备的对象及关系映射和面向对象的数据库开发能力。
特色
01. 遵守UML标准,权威而通用,帮助开发者完成设计
02. 完整支持静态建模(实体模型)
03. 对UML做了适当裁剪,使得非常易于理解和使用
04. 新增实用的元素及符号更利于设计
05. 完整支持数据库设计,支持多种常见数据库(SqlServer 2005, Oracle 10g)
06. 数据库可随时转换,方便灵活
07. 支持数据库生成,同步,从数据库生成实体模型等功能,模型频繁修改也能轻松应付
08. 多种.Net平台语言的代码生成(VB.NET, C#),代码完整体现模型结构,所设计即所得
09. 可生成模型文档,数据表文档和源代码文件
10. 代码文件易于使用,便于整合与定制,可以直接用于基于EMLib框架的开发
11. 重复生成代码不会覆盖用户的定制代码
12. Eql完全遵守Sql92标准,构造语句对象方便灵活,可以任意输入条件
13. Eql完善支持子查询,可以构造各种复杂程度的语句,完全摆脱字符串拼接语句的麻烦。
14. 开发环境可以对Eql语句对象做编译时检查,助您提高效率
15. Eql语句对象无需修改可在不同的数据库上执行
16. Eql语句对象支持数据库函数的使用
17. Eql语句对象既可用于基于实体的操作也可用于基于数据的操作
18. EMLib可以生成与Eql语句对象等价的Sql语句文本
19. EMLib采用了与.Net类库一致的开发接口,无需学习即会使用
20. EMLib对数据库的所有操作全部面向对象并支持多态特性
21. 查询,删除和更新操作支持级联,并可控制级联的深度
22. 既支持传统操作数据库的方式也支持ORM方式操作数据库
23. 支持实体缓存,保证对象查询的唯一性及性能
24. 支持内存事务,保证内存中的对象和关系与数据库中的一致
25. 支持实体类型成员,懒加载及刷新操作
26. 支持关系的建立,终止和转移操作
27. 支持实体事件,便于满足定制要求
ORM操作及Eql代码示例
1 // 模型文件的路径,该文件由Entity Model Studio在生成源代码时同时生成 2 string pathModel = "..."; 3 // 许可证文件路径,在完成试用版注册或者正式版许可证注册后许可证管理器 4 会自动生成该文件 5 string pathLic = "..."; 6 // CustomModelSqlCS.ED是Entity Model Studio自动生成的类,其中的方法 7 // CreateContext也是自动生成的。用于完成EMContext对象的生成 8 EMContext context = CustomModelSqlCS.ED.CreateContext(pathModel, pathLic); 9 // 构造Sql数据库的连接对象 10 EMSqlConnection conn = new EMSqlConnection(context); 11 // 构造Sql数据库的命令对象 12 EMSqlCommand comm = new EMSqlCommand(conn); 13 // 使用Eql接口完成查询语句对象的构造 14 EqlSelect stmt = Eql.Select(CustomModelSqlCS.ED.E7000). 15 From(CustomModelSqlCS.ED.E7000). 16 Where(CustomModelSqlCS.ED.E7000.ID > 10); 17 18 // 连接数据库。这里无需指明连接字符串,该字符串是在模型文件中配置的 19 conn.Open(); 20 // 使用Eql语句对象完成查询实体的ORM功能。参数EntityAffectType.Data用 21 // 于控制级联的深度 22 ReadOnlyCollection<E7000> result = comm.QueryEntity<E7000>(stmt, EntityAffectType.Data); 23 // 关闭连接 24 conn.Close();
软件截图