0

我正在关注这个示例,了解如何将 gRPC 添加到托管的 Blazor Web Assembly 项目。

我想使用 EF Core 添加 CRUD,我遇到的一个简单问题是示例将我的控制器逻辑放入共享项目中的新 Service.cs 文件中——但我的 dbContext 文件位于服务器项目中,所以它是不让我将我的上下文注入到这个 Service.cs 文件中。将我的 dbContext 放在 Shared 文件夹中似乎不正确(良好做法)?

namespace CertPortal.Shared
{
    public class CertificatesService : Certificates.CertificatesBase
    {
        private readonly IDbContextFactory<CertPortalContext> _contextFactory;

        public CertificatesService(IDbContextFactory<CertPortalContext> contextFactory)
        {
            _contextFactory = contextFactory;

        }


        public async Task<Certificate> AddCertAsync(Certificate certVM)
        {
            try
            {
                using var context = _contextFactory.CreateDbContext();
                await context.AddAsync(certVM);
                await context.SaveChangesAsync();
            }
            catch (Exception)
            {
                throw;
            }
            return certVM;
        }
    }
}

我在 IDbContextFactory< CertPortalContext > 部分的“CertPortalContext”上看到了红色波浪线。

有人可以告诉我应该如何在这里进行吗?

谢谢!

4

0 回答 0