c# - Blazor wasm,网络核心托管,具有身份验证、应用程序用户和共享项目中我的模型之间的关系

标签 c# blazor blazor-client-side

我正在学习 Net Core 和 Blazor,我面临以下问题。

我创建了一个新的 Blazor Web 程序集解决方案,由用户身份验证托管的 net core。该解决方案默认分为三个项目:客户端、服务器和共享。我将我的模型放在共享项目中,但现在我需要在我的模型和位于应用程序内部的 ApplicationUser 模型之间设置关系(一对多、多对多,...如此处所述: https://learn.microsoft.com/en-us/ef/core/modeling/relationships )服务器项目。

在我的模型中我无法放入

public ApplicationUser User { get; set; }

因为我做不到

using mysolutionname.server;

因为服务器项目依赖于共享,而共享不能依赖于服务器(循环依赖)。

如何解决这个问题?

最佳答案

共享项目应仅包含客户端和服务器项目共享的对象。例如,默认 Visual Studio 模板中的客户端和服务器项目使用的 WeatherForecast 类驻留在共享项目中,因为两个项目都使用此类。但是诸如ApplicationUser(或ApplicationDbContext)之类的对象只能在服务器上使用,不能也不能在Client项目上使用,并且它们由默认模板生成的当前位置不应该按照您的想法进行更改。

希望这有帮助...

关于c# - Blazor wasm,网络核心托管,具有身份验证、应用程序用户和共享项目中我的模型之间的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62469852/

相关文章:

c# - Blazor 中的 Google Chrome 扩展程序

blazor - 使用带 bool 值的 InputRadio

blazor - 如何更改 blazor wasm 应用程序的基本 URL

c# - 行动委托(delegate)< ref T1, T2>

c# - 如何从 Unity 3d Shaderlab 中的像素着色器返回纹理?

bootstrap-4 - 在 blazor 客户端中显示模态对话框

c# - Razor 组件的源生成器不工作

c# - 我可以将图像/位图转换为可写位图吗?

c# - 将 LINQ 的输出转换为 Int16

asp.net-core - 如何在Blazor中直接更改CSS(无变量)?