abp vnext 开发中遇到的一些报错

这几天在用abp vnext做一些demo,做的过程中遇到一些报错,记录一下。

' can be invoked with the available services and parameters:
Cannot resolve parameter 'Acme.BookStore.XXXXXXXXXX.service' of constructor 'Void .ctor(Acme.BookStore.XXXXXXXXXXXWeChatUserInfoAppService)'.

这是第一个报错,在遇到的时候,就蒙了,找了半天没找到原因,后来在网上查到了原因,是因为在DbContext里面添加DbSet,对数据库没有迁移造成的。果断对数据库进行迁移。

结果却遇到了第二个错误

'Acme.BookStore.UserInfoAppService' can be invoked with the available services and parameters:
Cannot resolve parameter 'Acme.BookStore.UserInfos.UserInfoRepository repository' of constructor 'Void .ctor(Acme.BookStore.UserInfos.IUserInfoRepository)'.

因为自己按照网上的教程,自己定义了一个仓储接口,没有对仓储进行实现和注册,结果就报了上述错误了。修改方法如下:

1. 添加DbContext接口IDbContext,在接口里面添加DbSet

 [ConnectionStringName("Default")]
 public interface IBookStoreDbContext : IEfCoreDbContext
 {
     DbSet<UserInfo> UserInfos {get;}
 }

2. 实现自己定义的仓储接口

   public class UserInfoRepository : EfCoreRepository<IBookStoreDbContext, UserInfo, Guid>, IUserInfoRepository
    {
        public UserInfoRepository(IDbContextProvider<IBookStoreDbContext> dbContextProvider) : base(dbContextProvider)
        {
        }
    }

3. 在EntityFrameworkCoreModule结尾的文件里面注册仓储,不然就会报上述错误

public class BookStoreEntityFrameworkCoreModule : AbpModule
{
        public override void PreConfigureServices(ServiceConfigurationContext context)
        {
            BookStoreEfCoreEntityExtensionMappings.Configure();
        }

        public override void ConfigureServices(ServiceConfigurationContext context)
        {
            context.Services.AddAbpDbContext<BookStoreDbContext>(options =>
            {
                /* Remove "includeAllEntities: true" to create
                 * default repositories only for aggregate roots */
                options.AddDefaultRepositories(includeAllEntities: true);
                options.AddRepository<UserInfo, UserInfoRepository>();
            });

            Configure<AbpDbContextOptions>(options =>
            {
                /* The main point to change your DBMS.
                 * See also BookStoreMigrationsDbContextFactory for EF Core tooling. */
                options.UseSqlServer();
            });
 }

 

 

参考链接:

初识ABP vNext(11):聚合根、仓储、领域服务、应用服务、Blob存储

posted @ 2021-07-27 20:28  扣顶之路  阅读(1021)  评论(0)    收藏  举报