Skip to content
FreeSql 官方文档FreeSql 官方文档
指南
扩展
服务支持
github icon
  • 指南

      • FreeSql.Provider.SqliteCore
        • FreeSql.Provider.Odbc
          • FreeSql.Provider.Custom
            • MySqlConnector
            • DB First
              • 表达式函数
                • 事务
                  • 过滤器
                    • ADO
                      • AOP✨
                        • 读写分离
                          • 分表分库
                            • 多租户
                              • 性能
                                • 动态操作
                                  • 你不知道的功能 ✨

                                  FreeSql.Provider.Custom

                                  author iconnicyecalendar icon2022年7月9日timer icon小于 1 分钟word icon约 230 字

                                  # FreeSql.Provider.Custom

                                  FreeSql.Provider.Custom 实现通用自定义适配器,访问所有数据库。

                                  通用实现为了让用户自己适配更多的数据库,比如连接 mssql 2000、db2 等数据库,牺牲了一些功能:

                                  • 不支持 CodeFirst 自动迁移
                                  • 不支持 DbFirst 接口方法的实现
                                  • 不支持 原来的分页方法,需要自行判断 id 进行分页
                                  • 只支持较少的基础类型:bool,sbyte,short,int,long,byte,ushort,uint,ulong,double,float,decimal,DateTime,byte[],string,Guid

                                  使用者只需求重写类 FreeSql.Custom.CustomAdapter 就可以自定义访问不同的数据库。

                                  我们默认做了一套 sqlserver 的语法和映射适配,代码在 CustomAdapter.csopen in new window,请查看代码了解。

                                  class Mssql2000Adapter : FreeSql.Custom.CustomAdapter
                                  {
                                      public override string InsertAfterGetIdentitySql => "SELECT SCOPE_IDENTITY()";
                                      //可以重写更多的设置
                                  }
                                  
                                  static IFreeSql fsql = new FreeSql.FreeSqlBuilder()
                                      .UseConnectionString(FreeSql.DataType.Custom, () => new SqlConnection(@"Data Source=..."))
                                      .Build(); //be sure to define as singleton mode
                                  
                                  fsql.SetCustomAdapter(new Mssql2000Adapter());
                                  
                                  1
                                  2
                                  3
                                  4
                                  5
                                  6
                                  7
                                  8
                                  9
                                  10
                                  11

                                  适配好新的 CustomAdapter 后,请在 FreeSqlBuilder.Build 之后调用 IFreeSql.SetCustomAdapter 方法生效。

                                  edit icon在 GitHub 上编辑此页open in new window
                                  上次编辑于: 2022/7/9 09:12:12
                                  贡献者: igeekfan
                                  上一页
                                  FreeSql.Provider.Odbc
                                  下一页
                                  MySqlConnector
                                  Copyright © 2018-present nicye
                                  Copyright © 2022 nicye

                                  该应用可以安装在你的 PC 或移动设备上。这将使该 Web 应用程序外观和行为与其他应用程序相同。它将在出现在应用程序列表中,并可以固定到主屏幕,开始菜单或任务栏。此 Web 应用程序还将能够与其他应用程序和你的操作系统安全地进行交互。

                                  详情