minhas informações de contato
Correspondência[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Usar o SqlSugar para realizar operações com vários bancos de dados envolve principalmente as seguintes etapas:
Primeiro, você precisa definir o arquivo de configuração em seu projeto (por exemplo,appsettings.json
、web.config
ouapp.config
) Configure cadeias de conexão para vários bancos de dados. Cada cadeia de conexão corresponde a um banco de dados diferente.
Por exemplo, emappsettings.json
, você pode configurá-lo assim:
json复制代码
{ | |
"ConnectionStrings": { | |
"DefaultConnectionSqlServer": "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;", | |
"DefaultConnectionMySql": "server=localhost;user=root;password=myPassword;database=myOtherDataBase;", | |
// 可以继续添加更多数据库的连接字符串 | |
} | |
} |
Para cada banco de dados que você precisa operar, você precisa criar umSqlSugarClient
instância e passe a configuração de conexão de banco de dados correspondente ao criá-la.
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, | |
// 其他配置... | |
}); |
Agora você pode usar estesSqlSugarClient
instância para executar operações de banco de dados. De acordo com as necessidades do seu negócio, selecione a instância correspondente para operar o banco de dados correspondente.
csharp复制代码
// 使用SqlServer数据库实例插入数据 | |
var user = new User { Name = "张三", Age = 20 }; | |
var id = dbClientSqlServer.Insertable(user).ExecuteReturnIdentity(); | |
// 使用MySql数据库实例查询数据 | |
var userList = dbClientMySql.Queryable<User>().ToList(); |
System.Transactions
Classes no namespace para gerenciar transações distribuídas. No entanto, esteja ciente do desempenho e da complexidade das transações distribuídas.Usar o SqlSugar para operações com vários bancos de dados envolve principalmente a configuração de múltiplas conexões de banco de dados e a criação de váriosSqlSugarClient
Instância e selecione a instância correspondente para executar operações de banco de dados com base nas necessidades de negócios. Deve-se observar que a consulta entre bancos de dados e o processamento de transações distribuídas podem exigir considerações e configurações adicionais. Além disso, deve-se prestar atenção ao desempenho e à carga de cada banco de dados para garantir a estabilidade e o desempenho do sistema.
Em anexo está o código da aplicação SqlSugar:
usando SqlSugar;
//Criar objeto de banco de dados (o uso é o mesmo do EF Dapppper para garantir a segurança do thread por meio de novo)
SqlSugarClient Db = novo SqlSugarClient(novo ConnectionConfig()
{
ConnectionString = "fonte de dados=demo.db",
TipoDb = TipoDb.Sqlite,
IsAutoCloseConnection = verdadeiro
},
db => {
db.Aop.OnLogExecuting = (sql, pars) =>
{
//Obter recomendação de SQL nativo 5.1.4.63, o desempenho está OK
Console.WriteLine(UtilMethods.GetNativeSql(sql, pars));
//Obter SQL sem parâmetros tem impacto no desempenho. SQL especialmente grande com muitos parâmetros deve ser usado para depuração.
//Console.WriteLine(UtilMethods.GetSqlString(DbType.SqlServer,sql,pars))
};
//Observe que a multilocação tem diversas configurações.
//db.GetConnection(i).Aop
});
//Construir banco de dados
Db.DbMaintenance.CreateDatabase(); // Dameng e Oracle não suportam criação de banco de dados
//Cria uma tabela (ver migração de documentos)
Db.CodeFirst.InitTables<Student> (); //Todas as bibliotecas suportam
//Consulta toda a tabela
var lista = Db.Queryable<Student> ().Listar();
//inserir
Db.Insertable(new Aluno() { SchoolId = 1, Nome = "jack" }).ExecuteCommand();
//renovar
Db.Updateable(novo Aluno() { Id = 1, SchoolId = 2, Nome = "jack2" }).ExecuteCommand();
//excluir
Db.Deletável<Student> ().Onde(it => it.Id == 1).ExecuteCommand();
Console.WriteLine("Parabéns por começar, você só precisa verificar a documentação mais tarde.");
Console.ReadKey();
//A entidade tem a mesma estrutura do banco de dados
classe pública estudante
{
//Os dados aumentam automaticamente e precisam ser adicionados com IsIdentity
//O banco de dados é a chave primária e precisa ser adicionado com IsPrimaryKey
//Nota: Dois atributos devem ser completamente consistentes com o banco de dados
[SugarColumn(IsPrimaryKey = verdadeiro, IsIdentity = verdadeiro)]
público int Id { obter; definir; }
público int? SchoolId { obter; definir; }
string pública? Nome { obter; definir; }
}