2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
SqlSugarin käyttäminen usean tietokannan toimintojen suorittamiseen sisältää pääasiassa seuraavat vaiheet:
Ensin sinun on asetettava projektisi konfigurointitiedosto (esim.appsettings.json
、web.config
taiapp.config
) Määritä useiden tietokantojen yhteysmerkkijonot. Jokainen yhteysmerkkijono vastaa eri tietokantaa.
Esimerkiksi sisäänappsettings.json
, voit määrittää sen seuraavasti:
json复制代码
{ | |
"ConnectionStrings": { | |
"DefaultConnectionSqlServer": "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;", | |
"DefaultConnectionMySql": "server=localhost;user=root;password=myPassword;database=myOtherDataBase;", | |
// 可以继续添加更多数据库的连接字符串 | |
} | |
} |
Jokaista käytettävää tietokantaa varten sinun on luotava aSqlSugarClient
ja välitä vastaava tietokantayhteyskokoonpano luodessasi sitä.
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, | |
// 其他配置... | |
}); |
Nyt voit käyttää näitäSqlSugarClient
esimerkki tietokantatoimintojen suorittamiseen. Valitse yrityksesi tarpeiden mukaan vastaava esiintymä vastaavan tietokannan käyttöä varten.
csharp复制代码
// 使用SqlServer数据库实例插入数据 | |
var user = new User { Name = "张三", Age = 20 }; | |
var id = dbClientSqlServer.Insertable(user).ExecuteReturnIdentity(); | |
// 使用MySql数据库实例查询数据 | |
var userList = dbClientMySql.Queryable<User>().ToList(); |
System.Transactions
Luokat nimiavaruudessa hajautettujen tapahtumien hallintaa varten. Ole kuitenkin tietoinen hajautettujen tapahtumien tehokkuudesta ja monimutkaisuudesta.SqlSugarin käyttäminen usean tietokannan toimintoihin edellyttää pääasiassa useiden tietokantayhteyksien määrittämistä ja useiden luomistaSqlSugarClient
Ilmentymä ja valitse vastaava ilmentymä suorittaaksesi tietokantatoimintoja liiketoiminnan tarpeiden mukaan. On huomattava, että tietokantojen väliset kyselyt ja hajautettu tapahtumien käsittely voivat vaatia lisähuomiota ja -kokoonpanoja. Lisäksi tulee kiinnittää huomiota kunkin tietokannan suorituskykyyn ja kuormitukseen järjestelmän vakauden ja suorituskyvyn varmistamiseksi.
Liitteenä on SqlSugar-sovelluskoodi:
käyttämällä SqlSugar;
//Luo tietokantaobjekti (käyttö on sama kuin EF Dapppperilla varmistaaksesi säikeen turvallisuuden uusien kautta)
SqlSugarClient Db = uusi SqlSugarClient(new ConnectionConfig()
{
ConnectionString = "datasource=demo.db",
DbType = DbType.Sqlite,
IsAutoCloseConnection = tosi
},
db => {
db.Aop.OnLogExecuting = (sql, pars) =>
{
//Hanki natiivi SQL-suositus 5.1.4.63, suorituskyky on OK
Console.WriteLine(UtilMethods.GetNativeSql(sql, pars));
//Parametrivapaan SQL:n saaminen vaikuttaa suorituskykyyn Erityisen suurta SQL:ää, jossa on paljon parametreja, tulisi käyttää virheenkorjaukseen.
//Console.WriteLine(UtilMethods.GetSqlString(DbType.SqlServer,sql,pars))
};
//Huomaa, että usealla vuokralla on useita asetuksia.
//db.GetConnection(i).Aop
});
// Rakenna tietokanta
Db.DbMaintenance.CreateDatabase(); // Dameng ja Oracle eivät tue tietokannan luomista
//Luo taulukko (katso asiakirjan siirto)
Db.CodeFirst.InitTables<Student> (); //Kaikki kirjastot tukevat
//Tee kysely koko taulukosta
var list = Db.Queryable<Student> ().Listata();
//lisää
Db.Insertable(new Student() { SchoolId = 1, Name = "jack" }).Suorita komento();
//uusi
Db.Päivitettävä(uusi opiskelija() { Id = 1, SchoolId = 2, Name = "jack2" }).Suorita komento();
//poistaa
Db.Poistettava<Student> ().Missä(se => se.Id == 1).SuoritaCommand();
Console.WriteLine("Onnittelut aloittamisesta, sinun tarvitsee vain tarkistaa dokumentaatio myöhemmin.");
Console.ReadKey();
//Entiteetillä on sama rakenne kuin tietokannassa
julkisen luokan opiskelija
{
//Tiedot lisääntyvät itsestään ja ne on lisättävä IsIdentityllä
//Tietokanta on ensisijainen avain ja se on lisättävä IsPrimaryKeyllä
//Huomaa: Kahden attribuutin on oltava täysin tietokannan mukaisia
[SugarColumn(IsPrimaryKey = tosi, IsIdentity = tosi)]
public int Id { get; aseta; }
julkinen int? SchoolId { get; aseta; }
julkinen merkkijono? Nimi { get; aseta; }
}