Mi informacion de contacto
Correo[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
El uso de SqlSugar para realizar operaciones de múltiples bases de datos implica principalmente los siguientes pasos:
Primero, necesita configurar el archivo de configuración en su proyecto (p. ej.appsettings.json
、web.config
oapp.config
) Configurar cadenas de conexión para múltiples bases de datos. Cada cadena de conexión corresponde a una base de datos diferente.
Por ejemplo, enappsettings.json
, puedes configurarlo así:
json复制代码
{ | |
"ConnectionStrings": { | |
"DefaultConnectionSqlServer": "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;", | |
"DefaultConnectionMySql": "server=localhost;user=root;password=myPassword;database=myOtherDataBase;", | |
// 可以继续添加更多数据库的连接字符串 | |
} | |
} |
Para cada base de datos en la que necesita operar, debe crear unaSqlSugarClient
instancia y pase la configuración de conexión de base de datos correspondiente al crearla.
csharp复制代码
using SqlSugar; | |
// 创建SqlServer数据库的SqlSugarClient实例 | |
var dbClientSqlServer = new SqlSugarClient(new ConnectionConfig() | |
{ | |
ConnectionString = Configuration.GetConnectionString("DefaultConnectionSqlServer"), // 从配置文件获取连接字符串 | |
DbType = DbType.SqlServer, | |
IsAutoCloseConnection = true, | |
// 其他配置... | |
}); | |
// 创建MySql数据库的SqlSugarClient实例 | |
var dbClientMySql = new SqlSugarClient(new ConnectionConfig() | |
{ | |
ConnectionString = Configuration.GetConnectionString("DefaultConnectionMySql"), // 从配置文件获取连接字符串 | |
DbType = DbType.MySql, | |
IsAutoCloseConnection = true, | |
// 其他配置... | |
}); |
Ahora puedes usar estosSqlSugarClient
instancia para realizar operaciones de base de datos. Según sus necesidades comerciales, seleccione la instancia correspondiente para operar la base de datos correspondiente.
csharp复制代码
// 使用SqlServer数据库实例插入数据 | |
var user = new User { Name = "张三", Age = 20 }; | |
var id = dbClientSqlServer.Insertable(user).ExecuteReturnIdentity(); | |
// 使用MySql数据库实例查询数据 | |
var userList = dbClientMySql.Queryable<User>().ToList(); |
System.Transactions
Clases en el espacio de nombres para gestionar transacciones distribuidas. Sin embargo, tenga en cuenta el rendimiento y la complejidad de las transacciones distribuidas.El uso de SqlSugar para operaciones de múltiples bases de datos implica principalmente configurar múltiples conexiones de bases de datos y crear múltiplesSqlSugarClient
Instancia y seleccione la instancia correspondiente para realizar operaciones de base de datos según las necesidades comerciales. Cabe señalar que las consultas entre bases de datos y el procesamiento de transacciones distribuidas pueden requerir consideraciones y configuraciones adicionales. Además, se debe prestar atención al rendimiento y la carga de cada base de datos para garantizar la estabilidad y el rendimiento del sistema.
Adjunto el código de la aplicación SqlSugar:
utilizando SqlSugar;
//Crear un objeto de base de datos (el uso es el mismo que EF Dapppper para garantizar la seguridad de los subprocesos a través de nuevos)
Base de datos SqlSugarClient = nuevo SqlSugarClient(nueva ConnectionConfig()
{
Cadena de conexión = "origen de datos=demo.db",
TipoDb = TipoDb.Sqlite,
IsAutoCloseConnection = verdadero
},
base de datos => {
db.Aop.OnLogExecuting = (sql, pars) =>
{
//Obtenga la recomendación SQL nativa 5.1.4.63, el rendimiento es correcto
Consola.WriteLine(UtilMethods.GetNativeSql(sql, pars));
// Obtener SQL sin parámetros tiene un impacto en el rendimiento. Se debe utilizar SQL especialmente grande con muchos parámetros para la depuración.
//Consola.WriteLine(UtilMethods.GetSqlString(DbType.SqlServer,sql,pars))
};
//Tenga en cuenta que el arrendamiento múltiple tiene varias configuraciones.
//db.ObtenerConexión(i).Aop
});
//Construir base de datos
Db.DbMaintenance.CreateDatabase(); // Dameng y Oracle no admiten la creación de bases de datos
//Crear una tabla (ver migración de documentos)
Db.CodeFirst.InitTables<Student> (); //Todas las bibliotecas son compatibles
//Consulta toda la tabla
var lista = Db.Queryable<Student> ().Listar();
//insertar
Db.Insertable(new Student() { SchoolId = 1, Nombre = "jack" }).ExecuteCommand();
//renovar
Db.Updateable(new Student() { Id = 1, SchoolId = 2, Name = "jack2" }).ExecuteCommand();
//borrar
Db.Eliminable<Student> (). Donde(es => es.Id == 1).EjecutarComando();
Console.WriteLine("Felicitaciones por comenzar, solo necesita consultar la documentación más tarde.");
Consola.ReadKey();
//La entidad tiene la misma estructura que la base de datos.
Clase pública Estudiante
{
//Los datos aumentan automáticamente y deben agregarse con IsIdentity
//La base de datos es la clave principal y debe agregarse con IsPrimaryKey
//Nota: dos atributos deben ser completamente consistentes con la base de datos
[ColumnaAzúcar(IsPrimaryKey = verdadero, IsIdentity = verdadero)]
público int Id { obtener; establecer; }
public int? SchoolId { obtener; establecer; }
cadena pública? Nombre { obtener; establecer; }
}