当前位置: 首页 > news >正文

Rafy 领域实体框架演示(2) - 新功能展示

本文的演示需要先完成上一篇文章中的演示:《Rafy 领域实体框架示例(1) - 转换传统三层应用程序》。在完成改造传统的三层系统之后,本文将讲解使用 Rafy 实体框架后带来的一些常用功能。

 

数据库自动生成


在程序转换转换完毕后。由于已经配置好数据库的连接字符串,所以直接运行整个程序,Rafy 会同时生成对应的数据库、表、字段,以及相应的外键关系等。

该库满足数据库的第三范式要求。同时,开发过程中新添加的属性,也会每次自动同步到这个数据库中。

以下是服装管理系统生成的数据库结构图:

2 SQL Diagram

 

监控执行的 SQL 语句


框架可以记录所有运行过程中执行的 Sql 语句及相关日志。这对于开发人员做系统调试、性能优化提供了较好的帮助。

该功能需要手动打开。在配置文件中添加以下配置:

<configuration>
    <appSettings>
        <!--如果是监听应用程序所有的 SQL 语句,请打开以下配置-->
        <add key="SQL_TRACE_FILE" value="D:\SQLTraceLog.txt"/>
    </appSettings>
</configuration>

 

配置项的值是用于记录日志的文件的地址。这时,我们再运行整个程序,就会发现 D 盘下的 SQLTraceLog.txt 文件已经开始记录整个程序所有执行的 SQL 了。

image

记录的格式如下:

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:

image

在打开的文档中点击“添加实体类”按钮,在弹出的窗口中选择除基类外所有的领域实体类:

image

点击确定后,图中便自动为所选实体生成了对应的关系图,稍加调整即可:

1 ODML

在图中可以清晰地看出:Bill 与 Sell 是组合关系,而其它的实体间的引用关系的名称、可空性等。这些关系,与我们在转换之初的 UML 设计是完全一致的。

 

 

更详细的功能说明,请试用并参见发布的说明文档。下一篇将会说明如何把应用程序,从当前直接连接数据库的单机版结构,快速部署为 Client-Server-Database 的分布式结构。

框架发布地址:《Rafy 发布地址》。

相关文章:

  • 高程读书笔记 第六章 面向对象程序设计
  • oracle常用操作语句
  • 搞定面试官
  • 使用WPF实现3D场景[一]
  • 初识MongoDB
  • STM32之CAN ---CAN ID过滤器分析
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 进制之间的相互转换
  • 值得推荐的10本PHP书籍(转)
  • C文件操作
  • 深入理解ReactRedux
  • 使用JAVA进行MD5加密后所遇到的一些问题
  • ExpandableListView使用(三)-ScrollView嵌套ExpandableListView,列表显示不全
  • ORACLE中的各种数据类型详细的介绍
  • 一个简单的golang json解析库
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • __proto__ 和 prototype的关系
  • Apache的基本使用
  • co.js - 让异步代码同步化
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • echarts的各种常用效果展示
  • Java面向对象及其三大特征
  • Linux各目录及每个目录的详细介绍
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • niucms就是以城市为分割单位,在上面 小区/乡村/同城论坛+58+团购
  • tweak 支持第三方库
  • VuePress 静态网站生成
  • windows下mongoDB的环境配置
  • 阿里研究院入选中国企业智库系统影响力榜
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 前嗅ForeSpider采集配置界面介绍
  • 我感觉这是史上最牛的防sql注入方法类
  • 系统认识JavaScript正则表达式
  • 自动记录MySQL慢查询快照脚本
  • 自制字幕遮挡器
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • 数据库巡检项
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • ​卜东波研究员:高观点下的少儿计算思维
  • #Linux(权限管理)
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (十六)一篇文章学会Java的常用API
  • (四)汇编语言——简单程序
  • (万字长文)Spring的核心知识尽揽其中
  • (学习日记)2024.01.09
  • (转)setTimeout 和 setInterval 的区别
  • (转)真正的中国天气api接口xml,json(求加精) ...
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .Net Core缓存组件(MemoryCache)源码解析