using System; using System.Collections.Generic; using System.Diagnostics; using System.Text; public class g { static Lazy<IFreeSql> sqlserverLazy = new Lazy<IFreeSql>(() => new FreeSql.FreeSqlBuilder() .UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=.;Integrated Security=True;Initial Catalog=freesqlTest;Pooling=true;Max Pool Size=10;TrustServerCertificate=true") .UseAutoSyncStructure(true) .UseMonitorCommand( cmd => { Trace.WriteLine(cmd.CommandText); }, //监听SQL命令对象,在执行前 (cmd, traceLog) => { Console.WriteLine(traceLog); }) //监听SQL命令对象,在执行后 .UseLazyLoading(true) .UseNoneCommandParameter(true) .Build()); public static IFreeSql sqlserver => sqlserverLazy.Value; static Lazy<IFreeSql> mysqlLazy = new Lazy<IFreeSql>(() => new FreeSql.FreeSqlBuilder() .UseConnectionString(FreeSql.DataType.MySql, "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;Initial Catalog=cccddd;Charset=utf8;SslMode=none;Max pool size=10") .UseAutoSyncStructure(true) .UseMonitorCommand( cmd => { Trace.WriteLine(cmd.CommandText); }, //监听SQL命令对象,在执行前 (cmd, traceLog) => { Console.WriteLine(traceLog); }) //监听SQL命令对象,在执行后 .UseLazyLoading(true) .UseNoneCommandParameter(true) .Build()); public static IFreeSql mysql => mysqlLazy.Value; static Lazy<IFreeSql> pgsqlLazy = new Lazy<IFreeSql>(() => new FreeSql.FreeSqlBuilder() .UseConnectionString(FreeSql.DataType.PostgreSQL, "Host=127.0.0.1;Port=5432;Username=postgres;Password=123456;Database=tedb;Pooling=true;Maximum Pool Size=10") .UseAutoSyncStructure(true) .UseNameConvert(FreeSql.Internal.NameConvertType.ToLower) .UseLazyLoading(true) .UseMonitorCommand( cmd => { Trace.WriteLine(cmd.CommandText); }, //监听SQL命令对象,在执行前 (cmd, traceLog) => { Console.WriteLine(traceLog); }) //监听SQL命令对象,在执行后 .UseNoneCommandParameter(true) .Build()); public static IFreeSql pgsql => pgsqlLazy.Value; static Lazy<IFreeSql> oracleLazy = new Lazy<IFreeSql>(() => new FreeSql.FreeSqlBuilder() .UseConnectionString(FreeSql.DataType.Oracle, "user id=user1;password=123456;data source=//127.0.0.1:1521/XE;Pooling=true;Max Pool Size=10") .UseAutoSyncStructure(true) .UseLazyLoading(true) .UseNameConvert(FreeSql.Internal.NameConvertType.ToUpper) .UseNoneCommandParameter(true) .UseMonitorCommand( cmd => { Trace.WriteLine(cmd.CommandText); }, //监听SQL命令对象,在执行前 (cmd, traceLog) => { Console.WriteLine(traceLog); }) //监听SQL命令对象,在执行后 .Build()); public static IFreeSql oracle => oracleLazy.Value; static Lazy<IFreeSql> sqliteLazy = new Lazy<IFreeSql>(() => new FreeSql.FreeSqlBuilder() .UseConnectionString(FreeSql.DataType.Sqlite, @"Data Source=|DataDirectory|/document22.db;Attachs=xxxtb.db;Pooling=true;Max Pool Size=10") .UseAutoSyncStructure(true) .UseLazyLoading(true) .UseMonitorCommand( cmd => { Trace.WriteLine(cmd.CommandText); }, //监听SQL命令对象,在执行前 (cmd, traceLog) => { Console.WriteLine(traceLog); }) //监听SQL命令对象,在执行后 .UseNoneCommandParameter(true) .Build()); public static IFreeSql sqlite => sqliteLazy.Value; }