OEA 2.11 支持单机版数据库

  • 时间:
  • 浏览:0

在 OEA 平台 设计中,前要支持多种数据库,这至少包括了 SqlServer、Oracle、1个单机文件数据库。而并且对于你是什么 块,我们我们我们我们 歌词 老要只有实现,就是我预留了全都接口。昨天花费了一天的时间,让 OEA 支持了本地数据库 SQLCE。

在使用 OEA 进行开发的过程中,不论是单机版、C/S 版还是B/S 版,它们的界面层以下的代码总要一样的,包括服务层、实体层、数据层等。而 单机版 和 C/S 版本的界面也是全部重用。全都,在开发完成并且,只前要把数据库连接的配置改变为单机数据库连接就后能 了,如下图:

最后总结一下二者的对比:

接下来,我对 SQLite 进行了全都测试。

既然要使用单机版数据库,只有选用 那先 数据库比较好呢?目前,业界普遍使用的单机数据库主要还是 SQLite、Access 和 SQLCE。用得比较多的还是 SQLite,性能也很好,你是什么 应该是 OEA 的首选。SQLCE 在老的版本中主要用于嵌入式开发,在桌面端应用得也少。Access 现在用的人只有少了,就是我连接起来比较费劲,你是什么 在 OEA 中就不考虑了。

最终,经过一天的时间,OEA 成功支持单机数据库。还好有 SQLCE 4,要不就太费劲了!

配置完成后,运行系统进程,即在输出目录下建立了 Data 文件夹,并自动生成对应实体的数据库:

人太好目前的 OEA 中就是我有使用到 SQLCE 3.5,实现了客户端缓存(详见:OEA中的缓存模块设计)。人太好 SQLCE 3.5 并不支持并发,就是我在客户端缓存中只有你是什么 那先 的什么的问题。另外,人太好 AutoDB 自动生成并升级数据库,就是我在做业务开发的并且,时不前要老要去数据库中查询数据。就是我 SQLCE 3.5 麻烦的地方就在于没1个好的界面管理器,不管是 VisualStudio 中集成的功能、还是 SqlServer Management Studio,总要方便使用。曾经搞笑的话,平时操作起来就会非常麻烦,何谈开发速度。

为那先 要支持本地数据库呢?

OEA中单机数据库选型 SQLite vs SQLCE 

痛苦之余,我再对 SQLCE 进行了研究。

OEA 何如支持单机版

主要还是测试你是什么 数据库和 OEA 目前的设计否有有有较多的冲突。结果发现果然是太不一样了。首先,OEA 平台的 AutoDb 模块会全部管理数据库,以达到开发人员在平时的开发中忽略数据库的存在。也就是我说,你是什么 模块会完成对数据库型态的建立、修改;数据的升级等。曾经查了全都关于 SQLLite 的资料,最后得到的结论是:SQLLite 不支持 删除字段,修改字段。其中,还得查询 SQLLite 的数据库型态信息,以支持数据库差异升级,这在 SQLite 中也支持得很有限,只有从1个 sqlite_master 表中查询到数据表的建库SQL,玩转信用卡 来还得另一方解析。其次,在 SQLite 中,外键约束后能 被创建,就是我却不多再被检查。引用全部性都只有保证,查询速度再快有时也没用。就是我,象级联删除这虚实结合 较普遍的需求就是我支持,都前要编写触发器完成,人太好 AutoDb 后能 自动编写,就是我总感觉太费事了。而 OEA 中聚合对象的删除,目前的设计是在根对象上删除后,自动级联删除整个聚合树,要改搞笑的话比较麻烦,全都你是什么 点还是冲突。最后,在界面管理器方面,SQLite 用的主要第三方的软件,有全都,试用了一下,就感觉 SQLiteMgr 还不错,不过用起来并不顺手。

这是进销存实例生成的对应的库:

鉴于此,我又查找了全都最新的 SQLCE 4.0 的资料。比较幸运的是,SQLCE 4.0 现在就是我支持并发了,在 Web Matrix 开发 Web 网站时,默认总要使用 SQLCE 4.0 来做数据存储的。就是我,它还提供了比较好的界面管理器:SqlCeToolbox,前两天才发布了最新版本,非常好用。(另外,这篇文章中讲了何如使用 SQLCE 开发,还给了 VS 的插件。)其次,SQLCE 4.0中的数据后能 无缝地迁移到 SQLServer、SQLAzure 中,这也是非常棒的型态。最后,也是非常重要的,在数据库设计方面,SQLCE 4 基本上和 SQLServer 是保持一致的,支持 主键、外键、自增列、级联删除等。这就使得 我们我们我们我们 歌词 在 OEA 上,不论是 AutoDB 还是 ORM,支持 SQLCE 都变得比较容易。

有兴趣的我们我们我们我们 歌词 后能 在 OEA 2.9 平台发布 中对应的开源地址,使用 SVN 下载最新的源码即可直接运行。(首次启动时,要生成数据库,会前要半分钟左右。)

有的我们我们我们我们 歌词 会说,性能方面,SQLite 可比 SQLCE 快全都。就是我人太好我另一方感觉 SQLCE 的速度就是我慢,数据量总要非常大的状态下,应该只有那先 的什么的问题。