c# - 如何将 Blazor WebAssembly 连接到数据库

标签 c# database-connection blazor-webassembly

我最近开始开发 Blazor WebAssembly 应用程序,现在我正在解决数据库连接问题。
所有类(class)和说明都说您需要在 Startup.cs 文件和 appsettings.json 中输入信息,但这些文件不在项目中。
我不明白。在 Blazor WebAssembly 中,有没有办法连接到数据库?

最佳答案

不直接。 Blazor WebAssembly 是一个前端框架。您需要创建一个 API Controller 来包装您的数据库连接并使用 HttpClient 来调用 api。一个直接的方法是使用包装 Entity Framework 核心数据库上下文的 asp.net 核心 web api Controller 。

@inject HttpClient Http
<template_html_here/>
    @code 
    {
         protected override async Task OnInitializedAsync()
        {
            products = await Http.GetFromJsonAsync<Product[]>("api/Products");
        }
    }
Controller :
 [ApiController]
 [Route("api/[controller]")]
 public class ProductsController : ControllerBase
    {
       
        private readonly ProductsDbContext _context; // your database context

        public ProductsController(ProductsDbContext context)
        {
            _context = context;
        }

        [HttpGet]
        public IEnumerable<Product> Get()
        {
           return _context.Products.ToList();
        }
    }
您可以在 https://docs.microsoft.com/en-us/aspnet/core/blazor/call-web-api?view=aspnetcore-3.1 阅读有关 blazor 的更多信息.
https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-web-api?view=aspnetcore-3.1&tabs=visual-studio 上的 asp.net 核心 Web API 上.

关于c# - 如何将 Blazor WebAssembly 连接到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63996294/

相关文章:

c# - 如何在设置颜色变化动画时更新 UI

c# - 重置光标.Clip

c# - Selenium webdriver - 驱动程序。在同一页面上导航

c# - Json.Net - 反序列化包含对象列表的对象列表

c# - 在 Blazor (Wasm) 服务中执行异步初始化逻辑的正确方法是什么?

.net-core - 如何在 Blazor WebAssembly 中使用 Roslyn 创建 CSharpCompilation?

c# - 如何从 .NET 应用程序连接到 SQL Server Compact?

php - MySQL CGI 文件 500 内部服务错误

php - 将数据库类与 PDO 一起使用

Blazor 和浏览器页面刷新