中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

IdentityServer4中如何使用EntityFramework Core進行持久化配置

發布時間:2021-12-30 09:25:29 來源:億速云 閱讀:130 作者:柒染 欄目:大數據

這篇文章將為大家詳細講解有關IdentityServer4中如何使用EntityFramework Core進行持久化配置,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

IdentityServer4中如何使用EntityFramework Core進行持久化配置

一般來說都會使用EF做遷移,那么如果讓EF支持.NET Cli命令行呢,打開項目。

IdentityServer4中如何使用EntityFramework Core進行持久化配置

在 </project> 之前添加一下代碼,用于支持Cli命令行,再此之后你可以去項目根目錄通過cmd.exe 執行 doenet ef,如果沒有出現error,就ok了!如果出現問題大多是都是這個放錯位置了。

<ItemGroup>
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />
  </ItemGroup>

鑒于EF的靈活性,我們本篇文章使用SqlServer數據庫,就現在我們創建一個數據庫,還有一些相關的表。

IdentityServer4.EntityFramework.Storage中的實體維護SqlServer的最新SQL腳本。他們就在這里。(隨便創建一個數據庫,把那兩個表放進去執行就好)

 下面我們要在Server進行配置了,需要在 Startup.cs 中的方法 ConfigureServices 進行修改,首先我們定義了一個常量 connectionString ,這你肯定知道,這是一個數據庫連接字符串,再往下定義了一個 migrationsAssembly ,它獲取了程序集的名稱,再通過 AddIdentityServer 以及 AddOperationalStore 方法對數據庫的相關遷移配置進行了賦值。

IdentityServer4中如何使用EntityFramework Core進行持久化配置

  再此期間你會引用 System.Reflection 以及 Microsoft.EntityFrameworkCore ,如上面所述,上面是硬編碼形式進行配置了,更確切的說這些關于數據庫的配置都是一個叫做 ConfigurationStoreOptions 的對象,你可以隨便修改它,EF兼容的的數據庫它都是可以的。因為IdentityServer4實現了EF可實現的接口。

它從哪里實現了呢?我們不難發現,在 IdentityServerEntityFrameworkBuilderExtensions 中的定義中有一個叫做 AddOperationalStore 的參數,它就是為了添加動態的存儲庫,定義如下。

IdentityServer4中如何使用EntityFramework Core進行持久化配置

IdentityServer4中如何使用EntityFramework Core進行持久化配置

可見它實現了DbContext,而大家都是.NET 程序員,所以我覺得你應該知道了怎么回事了,就現在,請確保你的連接字符串正確,我們要開始進行遷移了!執行以下命令.

IdentityServer4中如何使用EntityFramework Core進行持久化配置

 如果沒有什么問題,那么結果一定如下所示,當然您的項目中一定要安裝 Microsoft.EntityFrameworkCore ,否則將會出現 ERROR:Microsoft.EntityFrameworkCore.Metadata.Internal.DirectConstructorBinding .

IdentityServer4中如何使用EntityFramework Core進行持久化配置

 您現在應該在項目中看到一個 ?/Data/Migrations/IdentityServer 文件夾。 這包含新創建的遷移的代碼。現在我們已經添加了遷移,我們可以編寫代碼來從遷移中創建數據庫。 我們還將使用我們在之前的快速入門中定義的內存配置數據對數據庫進行種子處理。在Startup.cs中添加這個方法來幫助初始化數據庫:

IdentityServer4中如何使用EntityFramework Core進行持久化配置

上面的代碼可能需要將這些命名空間添加到您的文件中:

using IdentityServer4.EntityFramework.DbContexts; 
using IdentityServer4.EntityFramework.Mappers;

然后我們可以從Configure方法中調用它:

public void Configure(IApplicationBuilder app)
{  
   InitializeDatabase(app);    
}

現在,如果運行IdentityServer項目,則應創建數據庫并使用快速入門配置數據進行種子設定。您應該能夠使用SQL Server Management Studio或Visual Studio來連接和檢查數據。 IdentityServer4中如何使用EntityFramework Core進行持久化配置

  最后你可以根據這個Client表來配置你的Config.cs中的GetUsers這樣服務端的配置也就如此了,當然你可以自定義數據庫的字段來適應你的應用程序,那么當然沒更新一次你就可以通過EF的相關命令倆更新數據庫。那么所有的更新記錄就在 __EFMigrationsHistory 表中。 

關于IdentityServer4中如何使用EntityFramework Core進行持久化配置就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

普宁市| 盱眙县| 邵阳县| 司法| 孝义市| 辉南县| 建湖县| 饶阳县| 博湖县| 中西区| 新密市| 深水埗区| 沂源县| 柯坪县| 克什克腾旗| 武穴市| 屏边| 房产| 进贤县| 小金县| 景泰县| 卫辉市| 雷山县| 息烽县| 独山县| 北流市| 海丰县| 英山县| 胶州市| 宝清县| 灵武市| 云阳县| 分宜县| 曲周县| 拜城县| 岳阳市| 永登县| 巫山县| 平谷区| 京山县| 庄浪县|