mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-04-24 19:52:51 +08:00

- 增加 FreeSql.Provider.Odbc,实现 Oracle/SqlServer/MySql 的 Odbc 访问提供; - 增加 FreeSqlBuilder.UseConnectionString 参数 providerType,可解决因包版本冲突时,可能无法反射获得 FreeSql.Provider 对应的类型,通常这个参数不需要设置; - 优化 MaxLength 特性,当指定为 -1 时 DbType 会分别映射类型 text/nvarchar(max)/nvarchar2(4000);
42 lines
2.0 KiB
C#
42 lines
2.0 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Diagnostics;
|
||
using System.Text;
|
||
|
||
|
||
public class g
|
||
{
|
||
static Lazy<IFreeSql> mysqlLazy = new Lazy<IFreeSql>(() => new FreeSql.FreeSqlBuilder()
|
||
.UseConnectionString(FreeSql.DataType.OdbcMySql, "Driver={MySQL ODBC 8.0 Unicode Driver};Server=127.0.0.1;Persist Security Info=False;Trusted_Connection=Yes;UID=root;PWD=root;DATABASE=cccddd_odbc;Charset=utf8;SslMode=none;Max pool size=2")
|
||
.UseAutoSyncStructure(true)
|
||
.UseMonitorCommand(
|
||
cmd => Trace.WriteLine(cmd.CommandText), //监听SQL命令对象,在执行前
|
||
(cmd, traceLog) => Console.WriteLine(traceLog))
|
||
.UseLazyLoading(true)
|
||
.Build());
|
||
public static IFreeSql mysql => mysqlLazy.Value;
|
||
|
||
static Lazy<IFreeSql> sqlserverLazy = new Lazy<IFreeSql>(() => new FreeSql.FreeSqlBuilder()
|
||
.UseConnectionString(FreeSql.DataType.OdbcSqlServer, "Driver={SQL Server};Server=.;Persist Security Info=False;Trusted_Connection=Yes;Integrated Security=True;DATABASE=freesqlTest_odbc;Pooling=true;Max pool size=3")
|
||
.UseAutoSyncStructure(true)
|
||
.UseMonitorCommand(
|
||
cmd => Trace.WriteLine(cmd.CommandText), //监听SQL命令对象,在执行前
|
||
(cmd, traceLog) => Console.WriteLine(traceLog))
|
||
.UseLazyLoading(true)
|
||
.Build());
|
||
public static IFreeSql sqlserver => sqlserverLazy.Value;
|
||
|
||
static Lazy<IFreeSql> oracleLazy = new Lazy<IFreeSql>(() => new FreeSql.FreeSqlBuilder()
|
||
.UseConnectionString(FreeSql.DataType.OdbcOracle, "Driver={Oracle in XE};Server=//127.0.0.1:1521/XE;Persist Security Info=False;Trusted_Connection=Yes;UID=odbc1;PWD=123456")
|
||
.UseAutoSyncStructure(true)
|
||
.UseLazyLoading(true)
|
||
.UseSyncStructureToUpper(true)
|
||
//.UseNoneCommandParameter(true)
|
||
|
||
.UseMonitorCommand(
|
||
cmd => Trace.WriteLine(cmd.CommandText), //监听SQL命令对象,在执行前
|
||
(cmd, traceLog) => Console.WriteLine(traceLog))
|
||
.Build());
|
||
public static IFreeSql oracle => oracleLazy.Value;
|
||
}
|