Rafy 领域实体框架演示(2) - 新功能展示
本文的演示需要先完成上一篇文章中的演示:《Rafy 领域实体框架示例(1) - 转换传统三层应用程序》。在完成改造传统的三层系统之后,本文将讲解使用 Rafy 实体框架后带来的一些常用功能。
数据库自动生成
在程序转换转换完毕后。由于已经配置好数据库的连接字符串,所以直接运行整个程序,Rafy 会同时生成对应的数据库、表、字段,以及相应的外键关系等。
该库满足数据库的第三范式要求。同时,开发过程中新添加的属性,也会每次自动同步到这个数据库中。
以下是服装管理系统生成的数据库结构图:
监控执行的 SQL 语句
框架可以记录所有运行过程中执行的 Sql 语句及相关日志。这对于开发人员做系统调试、性能优化提供了较好的帮助。
该功能需要手动打开。在配置文件中添加以下配置:
<configuration>
<appSettings>
<!--如果是监听应用程序所有的 SQL 语句,请打开以下配置-->
<add key="SQL_TRACE_FILE" value="D:SQLTraceLog.txt"/>
</appSettings>
</configuration>
配置项的值是用于记录日志的文件的地址。这时,我们再运行整个程序,就会发现 D 盘下的 SQLTraceLog.txt 文件已经开始记录整个程序所有执行的 SQL 了。
记录的格式如下:
2013/10/30 10:23:42 Database: ClothesSys SELECT [User].[Id],[User].[Name],[User].[Password],[User].[UserName] FROM [User] WHERE [User].[UserName] = @p0 ORDER BY [User].[Id] ASC Parameters:"rafy"
领域实体关系图
在安装了 RafySDK 后,可以使用领域实体关系图,以图形的形式来描述指定的部分实体及实体间的关系。
例如,我们在 CS 项目中 Entities 文件夹内,添加新项,选择 Rafy -> Domain Model Designer,命名为 CS Model.odml:
在打开的文档中点击“添加实体类”按钮,在弹出的窗口中选择除基类外所有的领域实体类:
点击确定后,图中便自动为所选实体生成了对应的关系图,稍加调整即可:
在图中可以清晰地看出:Bill 与 Sell 是组合关系,而其它的实体间的引用关系的名称、可空性等。这些关系,与我们在转换之初的 UML 设计是完全一致的。
更详细的功能说明,请试用并参见发布的说明文档。下一篇将会说明如何把应用程序,从当前直接连接数据库的单机版结构,快速部署为 Client-Server-Database 的分布式结构。
框架发布地址:《Rafy 发布地址》。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 玩转 PhpStorm 系列(六):代码重构篇
- Java 反射
- python里运行shell命令或cmd命令
- 玩转 PhpStorm 系列(四):快捷键篇
- HDFS工作机制和原理
- 通过 PHP Mysqli 扩展与数据库交互
- python 中的元类详解
- 我扒了半天源码,终于找到了Oauth2自定义处理结果的最佳方案!
- python 解决多核处理器算力浪费的现象
- python实现单例模式的5种方法
- java序列化和序列化ID的作用
- python函数式编程
- 让Vim打造成强大的IDE,附_vimrc的配置和使用
- python 中面向切面编程AOP和装饰器
- HashMap&ConcurrentHashMap&HashTable