autofac使用出现的问题,大神来

小小小的程序员 2018-11-24 02:22:02
我描述一下最大问题吧

在MVC项目中,仓储+业务,ORM使用的是SqlSugar4x,由于有很多操作时相同的,比如基本的CURD,所以我建立了一个泛型接口来定义这些基本操作
interface IRepository<T>

然后用这个类来实现这个接口
class Repository<T> : IRepository<T> where T : class, new()

然而实际中也有复杂的操作,我会为这些类的操作单独建立仓储,比如IPostRepository,这个接口继承IRepository,
IPostRepository:IRepository<Post>

再建立class PostRepository来实现这些复杂的操作,因为PostRepository还需要实现IRepository的接口,所以我直接在PostRepository里继承了已经实现了IRepository接口的Repository类
PostRepository : Repository<Post>, IPostRepository

按理说,PostRepository类可以使用所有的方法。
然而,我在Global里注册了接口之后,结果并不是我想要的
builder.RegisterType<PostRepository>().As<IPostRepository>();

我在业务层里调用了Repository里的基本方法,运行时报错,IPostRepository未包含XXX方法,我猜想是因为IPostRepository是继承IRepository的,但是autofac并没有识别出来,而我使用的方法在IRepository里,那么我该怎么进行注册呢?或者该怎么调整?
...全文
1033 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
关于AUTOFAC的使用问题,有没有大神来救救我····················
  • 打赏
  • 举报
回复
有没有大神来救救我
大然然 2018-11-26
  • 打赏
  • 举报
回复
人家问的是依赖注入的问题,某大神答非所问叫人用好ado.net
  • 打赏
  • 举报
回复
业务层注入的构造函数代码贴下呢
  • 打赏
  • 举报
回复
少抽象,多用那些在编译时能在几秒钟内给你静态检查的框架,少用成事不足败事有余的运行时才报错、甚至(专业工程师才明白)难以调试分析的抽象方式。
  • 打赏
  • 举报
回复
用好 ADO.NET,而对于这类套路框架,少选即可。
  • 打赏
  • 举报
回复
引用 5 楼 娃都会打酱油了 的回复:
业务层注入的构造函数代码贴下呢
class PostRepository : Repository<Post>, IPostRepository { protected readonly IPostRepository repo; public Service(IPostRepository _repo) { repo = _repo; } }
  • 打赏
  • 举报
回复

class PostRepository : Repository<Post>, IPostRepository 
{
        protected readonly IPostRepository repo;
        public Service(IPostRepository _repo)
        {
            repo = _repo;
        }
}
  • 打赏
  • 举报
回复
来个大神救救我
  • 打赏
  • 举报
回复
来个高人指点一下

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧