web-dev-qa-db-ja.com

Blazor Webアセンブリをデータベースに接続する方法

私は最近Blazor Webアセンブリアプリの開発を始めました、そして今私はデータベース接続に解決します。

すべてのレッスンと指示は、startup.csファイルとappsettings.jsonに情報を入力する必要があると言うが、これらのファイルはプロジェクトにありません。

理解できない。 Blazor Webアセンブリでは、DBに接続する方法はありませんか。

直接ではありません。 Blazor Webアセンブリはフロントエンドフレームワークです。データベース接続をラップし、HttpClientを使用してAPIを呼び出すためのAPIコントローラを作成する必要があります。それをするための簡単な方法は、Entity Framework CoreデータベースコンテキストをラップするASP.Net Core Web APIコントローラを使用することです。

@inject HttpClient Http
<template_html_here/>
    @code 
    {
         protected override async Task OnInitializedAsync()
        {
            products = await Http.GetFromJsonAsync<Product[]>("api/Products");
        }
    }
 _

コントローラ:

 [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();
        }
    }
 _

Blazor ATについてもっと読むことができます https://docs.microsoft.com/en-us/aspnet/core/blazor/call-web-api?view=aspnetcore-3.1 。そしてASP.NET CORE Web API ON https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-web-api?view=aspnetcore-3.1&tabs=visual-studio

5
codinbear107

ローカルストレージ(ブラウザストレージ)を参照している場合は, このコンポーネントChris Sainty (Chris Sainty)==を手伝ってください。

ただし、SQL ServerやMongoのようなドキュメントストレージのようなデータベースへの接続を探している場合は、直接実行できません。

Blazor WASMはフロントエンド開発用です。サーバーに保存されているデータベースに接続するWeb APIを呼び出す必要があります。

0
CobyC