Rafy 领域实体框架演示(4) - 使用本地文件型数据库 SQLCE 绿色部署

本系列演示如何使用 Rafy 领域实体框架快速转换一个传统的三层应用程序,并展示转换完成后,Rafy 带来的新功能。

福利到!Rafy(原OEA)领域实体框架 2.22.2067 发布!

Rafy 领域实体框架示例(1) - 转换传统三层应用程序

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

Rafy 领域实体框架演示(3) - 快速使用 C/S 架构部署

 

前言


支持一款与 Access 类似的文件型数据库,对于一些绿色安装的应用程序来说是非常必须的。使用 Rafy 领域实体框架开发的应用程序,可以在不变更一行代码的情况下,直接由大型数据库管理系统,移植到使用简单的 SqlCE 4 文件型数据库。(关于选择使用 SQLCE 4 作为文件型数据库的原因,详见:《OEA 2.11 支持单机版数据库 - SQLite与SQLCE对比》。)

本文说明如何快速配置 Rafy 应用程序,使得不需要修改任何代码的同时,让原本支持分布式部署、连接 SqlServer 的应用程序,转换为使用 SQLCE 数据库,以支持绿色部署。

 

拷贝 SQLCE 4 相关程序集


首先,需要把 SQLCE 对应的文件都拷贝到执行文件对应的项目中:

1.拷贝 SQLCE 文件

引用 System.Data.SqlServerCe:

2.引用

把刚拷贝进项目中的 amd64 及 x86 文件夹中所有文件的”Copy to Output Directory” 属性设置为”Copy if newer”,这样,编译后的文件夹中就会自动拷贝这两个文件夹中的所有文件了:

3 文件4 拷贝到目标文件夹

 

修改配置文件


然后,需要修改配置文件中的数据库连接相关的配置节。修改后的配置文件内容如下:

   1:  <?xml version="1.0"?>
   2:  <configuration>
   3:      <connectionStrings>
   4:          <add name="CS" connectionString="Data Source=Data\ClothesSys.sdf;Case Sensitive=True;" providerName="System.Data.SqlServerCe" />
   5:      </connectionStrings>
   6:      <system.data>
   7:          <DbProviderFactories>
   8:              <remove invariant="System.Data.SqlServerCe"/>
   9:              <add name="SqlServerCe Data Provider" invariant="System.Data.SqlServerCe" description="SqlServerCe Data Provider"
  10:                   type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
  11:   
  12:          </DbProviderFactories>
  13:      </system.data>
  14:  </configuration>

 

运行程序


这样,就已经完成了所有的步骤。此时运行程序,会发现首次运行时程序启动较慢,这是因为Rafy正在创建指定的 ClothesSys.sdf 数据库及其中的初始数据:

5数据库

数据库创建完成后,程序正常启动,并可以直接登录。

imageimage

 

代码下载


下载地址:http://pan.baidu.com/s/1AB9TL

image

本文对应的示例代码在“4.使用 SQLCE4 文件型数据库”文件夹中。

 

欢迎试用 Rafy 领域实体框架,框架发布地址:http://www.cnblogs.com/zgynhqf/p/3356692.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值