zoukankan      html  css  js  c++  java
  • 将 Linq to SQl 项目移植到 Linq to Oracle

     

    点击这里返回目录

    要将 Linq to SQL 的项目移植到 Oracle 数据库,首选当然是使用 ALinq 了。

    如果你还末接触过 ALinq ,在进行移植前,建议你先看看下面这个系列的文章:

    Linq to Oracle 使用教程目录

    如果你已经看过了,那么就可以开始了。

    准备工作 转换数据库,也就是先把 MS SQL 数据库转换成 Oracle 数据库。我们都知道, Oracle 数据一般来说,是不区分大小写的,所以一般采用下划来分隔单词。那么在导数据库的时候,就有可能出现两种情况,

    a. 保持原来的表字,字段名不变。比如说表名 EmployeeTerritories 转换后变成 EMPLOYEETERRITORIES,字段名 EmployeeID 变成了 EMPLOYEEID 。

    b. 对表名、字段名重新命名,用下划线来分隔单词。EmployeeTerritories 转换后变成 EMPLOYEE_TERRITORIES,字段名 EmployeeID 变成 EMPLOYEE_ID。(建议采用这种方法转换数据库)

    下面就根据这两种情分别介绍移植的步骤:

    情况 a :

    1、把 *.dbml 文件名改为 *.admf 文件,MSLinqToSQLGenerator 改为 ALinqCodeGenerator 并重新生成代码。

    注意:储存过程无法转换。

    2、修改连接字符串和 Provider,把 Provider 设为 Oracle ,下图仅供参考:

    3、修改表名,例如:把 dbo.Categories 改为 Categories。

    4、修改字段的 Server Type 属性。

    友情提示:

    如果表比较多,可以考虑写个小程序,直接读取 XML 格式的 admf 文件,然后在程序里修改。毕竟手工逐个修改还是挺麻烦的。

    情况 b :

    对于 b 情况,就简单多了,只需要重新建模就行了。

    1、把原来的 dbml 文件都删除,因为我们需要重新建模。

    2、新建一个 *admf 文件,然后把表拖到设计器上去。

    在建模前,请确定 Remove_Underscores 已经设为 True。菜单:Tools -> Options -> ORDesigner -> General 

    Remove_Underscores 设为 True  的作用是去掉表名、字段名的下划线,如:EMPLOYEE_TERRITORIES 变成 EmployeeTerritories ,EMPLOYEE_ID 变成 EmployeeID 。

    如下图:

    重将建模后,接着就是编译,调试了。如果没有存储过程,基本上是可以百分百的转换的。在转换的使用的过程中,有任何疑问,都可以和我联系。

    关于自增长列的转换请查看下面这篇文章中,关于 Oracle 的部份。

    http://www.alinq.org/CnDocument/Document.aspx?element=T%3a%e5%9b%a0%e6%95%b0%e6%8d%ae%e5%ba%93%e8%80%8c%e5%bc%82%e7%9a%84%e5%8a%9f%e8%83%bd

     

     

    点击这里返回目录

     

  • 相关阅读:
    Daliy Algorithm (dp,模拟)-- day 80
    Daliy Algorithm (dp,堆)-- day 79
    Mybatis一级缓存和二级缓存 Redis缓存
    简单排序
    java一个大接口拆用多线程方式拆分成多个小接口
    集群环境下Shiro Session的管理
    递归和快速排序
    分布式定时任务
    Redis集群架构
    IO流
  • 原文地址:https://www.cnblogs.com/ansiboy/p/2022505.html
Copyright © 2011-2022 走看看