我在 .NET Standard 2.0 專案中定義了一個資料庫背景關系,以便 .NET 5.0 和 .NET 4.7.x 客戶端都可以使用它。我正在嘗試創建初始遷移并從中生成腳本。我正在使用以下命令來生成遷移:
dotnet ef migrations add InitialCreate --project My.Standard.DataContext.Project --startup-project My.DotNet5.Api
為了構建 Standard 專案,我需要使用 Entity Framework 3.1.21 版創建遷移,因為更新的版本不適用于 .NET Standard 2.0。但是,當我運行上述命令時,.NET 5.0 API 中的包會自動更新到 5.0.12,這意味著生成的遷移代碼與包含它的標準專案不兼容。
為什么會這樣?我如何阻止它發生?
我最好的猜測是因為我使用的東西與 3.1.21 不兼容。我知道我目前正在使用 3.1.21 中無法開箱即用的 Id 和 iirc 字串。
這是自動更改之前的專案檔案:
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.21" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.1.21" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.21">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.Identity.Web" Version="1.20.0" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.2.3" />
uj5u.com熱心網友回復:
在我做了兩件事之后,這現在按預期作業。(其中一個可能無關。)
- 我將字串 Id 更改為 int,以便與 EF 3.1.21 兼容
- 我清洗了溶液。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/381541.html
