国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Ef Core花里胡哨系列(4) 多租戶(hù)

這篇具有很好參考價(jià)值的文章主要介紹了Ef Core花里胡哨系列(4) 多租戶(hù)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

Ef Core花里胡哨系列(4) 多租戶(hù)

當(dāng)然,我們要考慮設(shè)計(jì)問(wèn)題,例如,切換Schema或者改變數(shù)據(jù)庫(kù)時(shí),Ef Core同樣也會(huì)刷新改實(shí)體的緩存,所以,首次查詢(xún)將會(huì)很慢,不適合大表。

基于Schema實(shí)現(xiàn)多租戶(hù)

在我的上一篇博客中 [Ef Core花里胡哨系列(3) 動(dòng)態(tài)修改實(shí)體對(duì)應(yīng)的表(分表)、多租戶(hù)] 中我們實(shí)現(xiàn)了如何分表,同理,我們可以用近似的方法來(lái)切換表的Schema,只需要一點(diǎn)很小的改動(dòng)。

public class SampleDbContext(DbContextOptions<SampleDbContext> options)
    : DbContext(options)
{
    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<User>().ToTable($"User{DateTime.Now.ToString("yyyyMM")}", YourSchema);

        base.OnModelCreating(modelBuilder);
    }
}

基于多庫(kù)實(shí)現(xiàn)多租戶(hù)

實(shí)現(xiàn)切換數(shù)據(jù)庫(kù)我們將會(huì)采用的是Interceptor攔截器來(lái)實(shí)現(xiàn)。

建議租戶(hù)相關(guān)的操作采用單獨(dú)的DbContext和系統(tǒng)表區(qū)分開(kāi)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-771903.html

public class TenantDbConnectionInterceptor<T> : DbConnectionInterceptor
{
    public TenantDbConnectionInterceptor()
    {
    }

    public override InterceptionResult ConnectionOpening(DbConnection connection, ConnectionEventData eventData, InterceptionResult result)
    {
        connection.ConnectionString = "對(duì)應(yīng)租戶(hù)的連接字符串";

        return base.ConnectionOpening(connection, eventData, result);
    }

    public override ValueTask<InterceptionResult> ConnectionOpeningAsync(DbConnection connection, ConnectionEventData eventData, InterceptionResult result, CancellationToken cancellationToken = default)
    {
        connection.ConnectionString = "對(duì)應(yīng)租戶(hù)的連接字符串";

        return base.ConnectionOpeningAsync(connection, eventData, result, cancellationToken);
    }
}

使用攔截器

services.AddDbContext<DynamicDbContext>(opts =>
{
    opts.AddInterceptors(new TenantDbConnectionInterceptor());
});

到了這里,關(guān)于Ef Core花里胡哨系列(4) 多租戶(hù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 深入理解 python 虛擬機(jī):花里胡哨的魔術(shù)方法

    在本篇文章當(dāng)中主要給大家介紹在 cpython 當(dāng)中一些比較花里胡哨的魔術(shù)方法,以幫助我們自己實(shí)現(xiàn)比較花哨的功能,當(dāng)然這其中也包含一些也非常實(shí)用的魔術(shù)方法。 在 Python 中, __hash__() 方法是一種特殊方法(也稱(chēng)為魔術(shù)方法或雙下劃線方法),用于返回對(duì)象的哈希值。哈希

    2024年02月06日
    瀏覽(20)
  • 一款適合程序員的 Markdown 簡(jiǎn)歷模版,拒絕花里胡哨

    一款適合程序員的 Markdown 簡(jiǎn)歷模版,拒絕花里胡哨

    一款適合 IT 行業(yè)的 Markdown 簡(jiǎn)約簡(jiǎn)歷模版,拒絕花里胡哨 (1)安裝 Markdown 編輯軟件,推薦使用?Typora?編輯器(免費(fèi)版 Typora 百度網(wǎng)盤(pán)下載點(diǎn)此下載)。 (2)下載本項(xiàng)目,修改?Resume.md?文件即可。 (3)將 style 文件夾下的所有的.css 復(fù)制到 Typora 的主題文件夾 (4)主題文件

    2024年02月06日
    瀏覽(22)
  • 如何在C語(yǔ)言中將文字顯示為花里胡哨的多種顏色

    如何在C語(yǔ)言中將文字顯示為花里胡哨的多種顏色

    ????????Hello大家好!最近剛剛做完C語(yǔ)言的課程設(shè)計(jì)。在評(píng)分標(biāo)準(zhǔn)中有一項(xiàng)是展示界面美觀整潔。學(xué)前端的我對(duì)花里胡哨的界面情有獨(dú)鐘,這里為大家簡(jiǎn)單介紹三種改變字體顏色的方法。 ????????注意:本文中所有演示截圖均來(lái)自VS 2022。 目錄 ?改變C語(yǔ)言顯示界面字體

    2024年02月03日
    瀏覽(21)
  • MATLAB | 這些各種各樣的花里胡哨的折線填充圖咋畫(huà)

    MATLAB | 這些各種各樣的花里胡哨的折線填充圖咋畫(huà)

    這些各種各樣的花里胡哨的折線填充圖咋畫(huà)? 折線下面填充純色的話area函數(shù)很容易做到,但上面那些各種花里胡哨的填充圖就沒(méi)那么容易做到了,本期就來(lái)講講這些玩意都是咋畫(huà)的: 事先說(shuō)明,為了繪圖好看本文絕大多數(shù)圖像都使用如下函數(shù)進(jìn)行修飾: 二維填充所用到的數(shù)

    2023年04月16日
    瀏覽(27)
  • 【一步教學(xué),一步到位】花里胡哨的3D翻頁(yè)卡片,隔壁產(chǎn)品都饞哭

    【一步教學(xué),一步到位】花里胡哨的3D翻頁(yè)卡片,隔壁產(chǎn)品都饞哭

    with(cardShadowSizeFunc!!) { inParamMin = 0F inParamMax = 180F outParamMax = 50F outParamMin = 0F initValue = 10F } cardShadowDistanceFunc = CardShadowDistanceFunc() with(cardShadowDistanceFunc!!) { inParamMin = 0F inParamMax = 180F outParamMax = 50F outParamMin = 0F initValue = 10F } } 復(fù)制代碼 2.5.3 陰影變化 為了更好地模擬3D效果,卡片陰影

    2024年04月14日
    瀏覽(25)
  • EF Core并發(fā)控制

    EF Core并發(fā)控制

    并發(fā)控制:避免多個(gè)用戶(hù)同時(shí)操作資源造成的并發(fā)沖突問(wèn)題。 最好的解決方案:非數(shù)據(jù)庫(kù)解決方案 數(shù)據(jù)庫(kù)層面的兩種策略:悲觀、樂(lè)觀 悲觀并發(fā)控制一般采用行鎖 ,表鎖等排他鎖對(duì)資源進(jìn)行鎖定,確保同時(shí)只有一個(gè)使用者操作被鎖定的資源。 EF Core沒(méi)有封裝悲觀并發(fā)控制的

    2024年02月10日
    瀏覽(20)
  • EF Core入門(mén)

    EF Core入門(mén)

    EF Core是微軟官方提供的ORM框架。EF Core不僅可以操作Microsoft SQL Server、MySQL、Oracle、PostgreSQL等數(shù)據(jù)庫(kù),而且可以操作Azure Cosmos DB等NoSQL數(shù)據(jù)庫(kù) 前提條件:已經(jīng)完整安裝了Microsoft SQL Server 下面是一個(gè)實(shí)際操作EF Core的演示 這是項(xiàng)目最終的目錄,這里需要關(guān)注的就是 .cs 文件 首先新

    2023年04月09日
    瀏覽(18)
  • 4.1EF Core

    EF Core是微軟官方的ORM框架,ORM即對(duì)象關(guān)系映射,也就是我們可以直接操作C#中的對(duì)象就可以完成數(shù)據(jù)庫(kù)的操作。 EF Core環(huán)境搭建 首先要?jiǎng)?chuàng)建C#對(duì)象,用以對(duì)應(yīng)數(shù)據(jù)庫(kù)中的表,該C#對(duì)象也成為實(shí)體類(lèi)。 根據(jù)所用的數(shù)據(jù)庫(kù)選擇NuGet包,本文使用SQLite數(shù)據(jù)庫(kù),所以安裝Microsoft.EntityF

    2024年02月05日
    瀏覽(19)
  • 【EF Core】實(shí)體的主、從關(guān)系

    【EF Core】實(shí)體的主、從關(guān)系

    假設(shè)有以下兩個(gè)實(shí)體: Homework 類(lèi)表示家庭作業(yè),它并不是獨(dú)立使用的,而是與學(xué)生類(lèi)(Student)有依賴(lài)關(guān)系。一位學(xué)生有多個(gè)家庭作業(yè)記錄,即 Homework 對(duì)象用于記錄每位同學(xué)的作業(yè)的。按照這樣的前提,Student 是主對(duì)象,Homework 是從對(duì)象。 Student 對(duì)象有個(gè) Homeworks 屬性,用于引

    2024年02月11日
    瀏覽(24)
  • Net Core中使用EF Core連接Mysql數(shù)據(jù)庫(kù)

    Net Core中使用EF Core連接Mysql數(shù)據(jù)庫(kù)

    Entity Framework Core的前身是微軟提供并主推的ORM框架,簡(jiǎn)稱(chēng)EF,其底層是對(duì)ADO.NET的封裝。EF支持SQLServer、MYSQL、Oracle、Sqlite等所有主流數(shù)據(jù)庫(kù)。 首先是使用時(shí)的幾個(gè)模式的整理及其理解: Code First:根據(jù)代碼自動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)表結(jié)構(gòu)甚至是數(shù)據(jù)庫(kù),可以支持多庫(kù)開(kāi)發(fā),代碼較少冗余

    2024年01月24日
    瀏覽(28)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包