寻求 Blazor Server、EF Core 和 SQLite 入门指南

Hui Liu-MSFT 48,571 信誉分 Microsoft 供应商
2024-04-29T08:53:39.85+00:00

我是 Web 开发领域的新手,渴望学习。我一直在研究 Blazor Server、EF Core(特别是使用代码优先方法)和 SQLite 作为启动我旅程的技术。我的目标是创建一个基本应用程序,该应用程序可以在 Blazor Server 应用程序中使用 EF Core 的“代码优先”方法显示从 SQLite 数据库检索到的简单名称列表。

在在线研究时,我遇到了各种方法,但我的目标是一种干净且有条理的入门方法,尤其是关注 EF Core 的代码优先方面。您能否提供有关如何构建这种初学者友好型应用程序的指导和代码示例?我相信有一个明确的例子将极大地帮助我更好地理解这些技术,并使我走上正确的道路。

Note:此问题总结整理于:Seeking Guidance for Getting Started with Blazor Server, EF Core, and SQLite

Entity Framework Core
Entity Framework Core
实体框架数据访问技术的轻量型、可扩展、开源、跨平台版本。
50 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. Jiale Xue - MSFT 46,456 信誉分 Microsoft 供应商
    2024-04-29T09:45:40.13+00:00

    嗨@优素福

    您能否提供指导,也许还可以提供有关如何构建的代码示例

    下面是一个工作演示,你可以参考它。

    1.添加 NuGet 包:1.Add the NuGet packages:

     Microsoft.EntityFrameworkCore.Sqlite
    
     Microsoft.EntityFrameworkCore.Tools
    

    2.将以下类添加到数据目录中:

    Product.cs:这是表示产品实体的产品类。

    SQL的复制

     public class Product
     {
         public int Id { get; set; }
         public string Name { get; set; }
        
     }
    

    ProductDbContext.cs:

    打字稿复制

     public class ProductDbContext : DbContext
     {
        
         public ProductDbContext(DbContextOptions<ProductDbContext> options)
                 : base(options)
         {
         }
     
         public DbSet<Product> Product { get; set; }
    
     }
    

    ProductServices.cs:这是在内部使用 ProductDbContext 类的服务类,并提供 4 种方法来从上下文中创建、读取、更新和删除产品。

    打字稿

    public
    

    3.在 _Imports.razor 中添加 using 语句(您的命名空间)

    SQL的

    @using BlazorEfcSQ.Data
    

    4.在 Startup.cs 的 ConfigureServices() 方法中注册 ProductDbContext 和 ProductService,或者在 Program.cs (asp.net core 6+) 中注册,下面在Program.cs中:

    JavaScript的

    builder.Services.AddDbContext<ProductDbContext>(options =>
    {
        options.UseSqlite("Data Source = ProductsDB.db");
    });
    builder.Services.AddScoped<ProductServices>();
    

    5.将用户界面代码和逻辑添加到index.razor文件中。

    打字稿

    @page
    

    **6.将CSS片段添加到site.css文件中:**每当鼠标悬停在表格行上时,这将更新表格行的背景。

    YAML公司复制

     tr:hover
    

    7.Add-Migration 和 Update-Database:

    打开包管理器控制台并执行以下两个命令。

    1. Add-Migration “Initial-Commit”
      • 此命令将在项目层次结构中创建一个迁移文件夹,并添加包含迁移详细信息的 C# 类文件。

    更新数据库

    • 此命令将应用“Initial-Commit”迁移,并在 projects 文件夹中创建数据库。

    结果:

    SQLITE公司

    此外,还可以阅读 ASP.NET Core Blazor Server with Entity Framework Core (EF Core) 以了解更多信息。嗨@优素福 ,

    您能否提供指导,也许还可以提供有关如何构建的代码示例

    下面是一个工作演示,你可以参考它。

    1.添加 NuGet 包:1.Add the NuGet packages:

     Microsoft.EntityFrameworkCore.Sqlite
    
     Microsoft.EntityFrameworkCore.Tools
    

    2.将以下类添加到数据目录中:

    Product.cs:这是表示产品实体的产品类。

    SQL的

     public class Product
     {
         public int Id { get; 
    

    ProductDbContext.cs:

    打字稿

     
    

    ProductServices.cs:这是在内部使用 ProductDbContext 类的服务类,并提供 4 种方法来从上下文中创建、读取、更新和删除产品。

    打字稿复制

    public
    

    3.在 _Imports.razor 中添加 using 语句(您的命名空间)

    SQL的复制

    @using BlazorEfcSQ.Data
    

    4.在 Startup.cs 的 ConfigureServices() 方法中注册 ProductDbContext 和 ProductService,或者在 Program.cs (asp.net core 6+) 中注册,下面在Program.cs中:

    JavaScript的复制

    builder.Services.AddDbContext<ProductDbContext>(
    

    5.将用户界面代码和逻辑添加到index.razor文件中。

    打字稿复制

    @page
    

    **6.将CSS片段添加到site.css文件中:**每当鼠标悬停在表格行上时,这将更新表格行的背景。

    YAML公司复制

     tr:hover
    

    7.Add-Migration 和 Update-Database:

    打开包管理器控制台并执行以下两个命令。

    1. Add-Migration “Initial-Commit”
      • 此命令将在项目层次结构中创建一个迁移文件夹,并添加包含迁移详细信息的 C# 类文件。

    更新数据库

    • 此命令将应用“Initial-Commit”迁移,并在 projects 文件夹中创建数据库。

    结果:

    SQLITE公司

    此外,还可以阅读 ASP.NET Core Blazor Server with Entity Framework Core (EF Core) 以了解更多信息。


    如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。

    注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。

    0 个注释 无注释

0 个其他答案

排序依据: 非常有帮助

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。