我正在 ASP.NET Core 中构建解决方案架构。
我在 web 项目中引用存储库来声明依赖注入,ConfigureServices()
你可以吗?
我认为理想的情况是只引用服务项目,因为控制器应该只使用服务而不是存储库。
我有这些项目:
Web App (ASP.NET Core) - 引用所有项目。
public void ConfigureServices(IServiceCollection services) { services.AddMvc(); services.AddTransient<IEventsService, EventsService>(); services.AddTransient<IEventsRepository, EventsSqlRepository>(); } public class EventsController : Controller { private readonly IEventsService _eventsService; public EventsController(IEventsService eventsService) { _eventsService = eventsService; } }
业务(类库 - .NET 标准)
Folder IServices IEventsService Folder Services public class EventsService : IEventsService { private readonly IEventsRepository _eventsRepository; public EventsService(IEventsRepository eventsRepository) { _eventsRepository = eventsRepository; } }
IRepository(类库 - .NET 标准)
- IEvents存储库
存储库(类库 - .NET 标准)
使用 EF 访问 BD
public class EventsSqlRepository : BaseRepository, IEventsRepository { }
实用程序(类库 - .NET 标准)
实体(类库 - .NET 标准)
- 从 BD EF 映射
非常感谢 !