我正在嘗試將我的資料訪問權限與我的 WebAPI 分開。
(dotnet new classlib -f net6.0 )所以我為我的entity framework core 6模型和背景關系創建了一個簡單的 .NET 6 類別庫。
我dotnet user-secrets init在 WebAPI 專案中運行,然后將檔案<UserSecretsId>從.csproj檔案復制到.csprojDAL 專案的檔案中。
// (school.WebAPI.csproj) added reference in School.WebAPI to School.DAL
<ProjectReference Include="..\School.DAL\School.DAL.csproj" />
現在我正在嘗試搭建資料庫。
dotnet ef dbcontext 支架名稱=ConnectionStrings:SchoolDev Microsoft.EntityFrameworkCore.SqlServer -o 模型 --context-dir 資料 --schema dbo -f
這會產生以下錯誤:
System.InvalidOperationException:使用了命名連接字串,但在應用程式的配置中找不到名稱“ConnectionStrings:SchoolDev”。
當我在WebAPI專案中運行相同的命令時,它可以完美運行。
我讀了一些關于var builder = WebApplication.CreateBuilder(args);被 CLI 用來閱讀secrets.json. 但我很困惑,因為我覺得自己不WebApplication.CreateBuilder(args)屬于某個DAL專案。
如何在類別庫中設定從 cli 訪問用戶機密的權限?
uj5u.com熱心網友回復:
您可以在解決方案根目錄中使用-s path/to/API_project -p path/to/SQL_project. 這樣,它使用啟動專案 (-s) 來確定配置并使用專案 (-p) 來定位 EF 背景關系。
檔案:https ://docs.microsoft.com/en-us/ef/core/cli/dotnet#target-project-and-startup-project
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/482870.html
