扩展数据库

自定义数据库支持的好处是,用户不需要更改SqlSugar.dll 就能够扩展其他数据库的支持

比如Sqlsugar DbType没有 DbType.Db2 那么我们要扩展Db2数据库就需要改源码

一、DEMO、安装

1.1 源码DEMO

https://github.com/donet5/SqlSugar

image.png

1.2参考示例

源码中有别人扩展好的:一般都是PG系列或者Oracle系列 ,可以参考别人扩展的

image.png

1.2 Nuget:

5.0.5.5-preview-02 +   安装时勾选预览版本

二、使用自定义数据库

2.1 程序启动 

 InstanceFactory.CustomDbName = "Access";//文件名前缀
 InstanceFactory.CustomDllName = "SqlSugar.Access";//你扩展的dll名字
 InstanceFactory.CustomNamespace = "SqlSugar.Access";//你扩展dll的命名空间
 //dll和命名空间可能不一样,根据你扩展的dll填写

2.2 使用SqlSugar

 SqlSugarClient db = new SqlSugarClient(new ConnectionConfig()
 {
                ConnectionString = Config.ConnectionString,//Master Connection
                DbType = DbType.Custom,//设置为自定义
                InitKeyType = InitKeyType.Attribute,
                IsAutoCloseConnection = true
 });


三、扩展自定义数据库

3.1 新建一个类库

比如叫  SqlSugar.Access这个类库下的命名空间也改成 SqlSugar.Access


3.2 复制到新建类库

 找一个最接近的库进行复制,比如国产库都和PGSQL接近那么就COPY PGSQL文件夹,

Access和SqlServer 比如较近那么就COPY SqlServer的内容

image.png


3.3 文件目录

新建的类库有2个文件夹

1. Tools 主要是一些工具类 (源码中找到复制进去只要改个命名空间就行了)

2.  Db 文件夹 你找了一个最接近的复制进来把文件夹名字改一下


image.png

3.4 改文件名和命名空间

比如以前叫SqlServer现在全部改成Access, 文件的前缀

(需要改类名、命名空间、文件名)

image.png


3.5  重写类中方法

所有方法都继承基类的,需要重写的重写一下就行了

image.png


扩展数据库需要一定的技术水平,如果比较接近的就比较简单,比如MYSQL变成MYCAT基本上没多少改动

关闭
果糖网