【发布时间】:2020-05-30 09:42:34
【问题描述】:
如何从 Blazor WebAssembly 项目连接到多个数据库实例,我还添加了托管的 ASP.NET Core?
我的想法是将DBContexts 启动到“Startup.cs”(来自 Blazor.Server 应用程序,它引用了 Blazor.Client 应用程序):
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<DatabaseContext>(options =>
options.UseSqlite(
"connection string holder ..."));
}
像这样,但我想让用户在我的视图中选择是否要对将创建 SQLite 数据库实例的应用程序进行测试运行。常规运行将是 SQL Server 数据库的一个实例。如何在 ConfigureServices 方法中执行此操作?
现在我正在构建DBContexts 类,这些也受影响吗?
控制器还没有完成,ASP.NET Core MVC 控制器是正确的选择吗?
【问题讨论】:
-
blazor 不是 MVC,请勿混合使用 razor 和 blazor (docs.microsoft.com/en-us/aspnet/core/blazor/…)
-
关于多数据库,和blazor无关,看这个stackoverflow.com/questions/43767933/…
-
Blazor WASM 应用程序中没有多个数据库连接。Blazor WASM 是一个 UI 框架,就像任何前端框架一样。对于 DB 操作,您必须创建一个 Web API 并为多个 DB 连接创建多个 DbContexts。
-
@Rahul 嗯,这就是我对“WebAssembly ASP.NET Core Hosted”所做的意思。我的项目结构现在是 Blazor.Client 、 Blazor.Server 和 Blazor.Shared Lib。所以现在我在服务器项目中有 Startup.cs,我将在其中放置我的控制器。为什么多个数据库连接是不可能的?我还不明白。
-
@maytham-ɯɐɥʇʎɐɯ 我不能在 Blazor.Server 项目中做吗?这是我在创建 WebAssembly 之前检查 ASP.NET Core Hosted 选项时创建的。
标签: c# blazor blazor-server-side