金鞍玉勒寻芳客,未信我庐别有春。这篇文章主要讲述AppBoxFuture: 集成第三方Sql数据库相关的知识,希望能为你提供帮助。
??框架设计之初是不准备支持第三方数据库的,但最近几个朋友都提到需要将旧的基于传统Sql数据库的应用迁移到框架内,主要是考虑到一方面目前框架内置的分布式数据库尚未完善,另一方面是希望能逐步迭代旧应用替换传统数据库。因此作者还是决定支持第三方数据库,下面介绍如何集成第三方数据库,并将实体模型映射存储至其中。
一、创建DataStore??DataStore主要保存数据库的配置(连接)信息,通过IDE主菜单->
DataStore->
NewDataStore创建,创建后需要设置相应的连接信息(如下图所示),另如果是集群部署必须确保集群每一个节点都能正常连接到数据库。
文章图片
目前仅实现了Postgresql的支持二、创建EntityModel【AppBoxFuture: 集成第三方Sql数据库】??现在新建EntityModel时必须选择对应的存储源,"Default"是框架内置的数据库,其他名称则是对应的第三方数据库。创建完实体模型后打开设计器,在"Members"面板点击"Add"按钮可添加实体成员(对应数据库表字段),如下图所示:
文章图片
??根据不同的存储源,实体模型设计器的选项面板会呈现不同的设置选项,Sql数据库可设置主键及索引,如下图所示:
文章图片
??设置完并"保存"及"发布"后,服务端会自动连接数据库创建相应的表结构。另外DbFirst模式尚未实现,实现后可反向从现有数据库生成实体模型。
三、创建ServiceModel测试ORM??上述操作完成后创建测试用的服务模型,如下图所示编写两个服务方法,一个简单并发插入实体,一个分页查询数据。
文章图片
??鼠标定位相应的服务方法后点击"Invoke"按钮可调用服务方法进行测试,简单并发插入实体及简单分页查询的结果分别如下图所示:
文章图片
文章图片
服务模型Invoke与Debug的区别:
Invoke需要保存并发布后调用,使用Release选项编译;
Debug不需要保存并发布,使用Debug选项编译,服务端有相应的Debug进程处理调试过程。
演示视频四、本篇小结??第三方数据库的支持目前只是搭了个架子,ORM部分的很多功能如更新、导航属性、复杂查询等都未实现,框架的前端工程及后端工程的源码已经迁到gitlab上,暂采用赞助的方式开放,如果您对项目感兴趣可通过下载GitHub上的运行时安装测试,然后再决定是否加入赞助者来共同推进这个项目。另一边码代码一边码文实属不易,作者需要您的支持请您多多点赞推荐!
推荐阅读
- App 上架遇到的坑
- How to handle Appsettings for .net core 3.1 self contained single file publish
- Android 开发技术周报 Issue#278
- uniapp - Hbuilder打开微信小程序失败
- redmi Note4X安装原生安卓系统LineageOS
- IOC简单学习记录以及koa App.use和它的关系
- WDA学习(Application Configuration)
- Android Toast消息提醒
- 关于PicoNeo开发环境的Unity3D+AndroidSDK配置