0

EF 코어의 일반 저장소 패턴에서 작업 중이며 Asp.Net 코어에 대한 리포지토리의 종속성을 해결하는 데 문제가 있습니다. 내가 여기에 의존성을 해결 할 수 있어요 사용 유니티 내 코드입니다 :Asp.Net 코어의 종속성 해결

유니티를 사용

//here is the Line I Cant Resolve 
.RegisterType<IRepositoryAsync<Movie>, Repository<Movie>>() 

.RegisterType<IMovieService, MovieService>() 

Asp.Net 코어

services.AddScoped<IRepositoryAsync<Movie>, Repository<Movie>>(); 

services.AddTransient<IMovieService, MovieService>(); 

내가 오류

무엇입니까
InvalidOperationException: Unable to resolve service for type 'Repository.Pattern.DataContext.IDataContextAsync' while attempting to activate 'Repository.Pattern.Core.Repository`1[Sample.Models.Movie]'. 

Can anyon e는 Native Dependency Injection이 Asp.Net Core에서 작동하는 방법에 대한 명확한 문서를 가지고 있습니다.

+1

글쎄'IDataContextAsync' 무엇인가 여기에있다? – DavidG

+0

당신은 내게 단서 친구를주었습니다! :) –

+6

글쎄 예외가 메시지에 있었는데, 나는 사람들이 그들을 무시하는 이유를 이해 못할거야! – DavidG

답변

1

Microsoft.Extensions.DependencyInjection은 생성자 삽입을 사용하여 해결 된 서비스에 종속성을 주입합니다. 서비스 로케이터는 요청 된 서비스를 생성하기 위해 이러한 종속성을 구성하는 방법을 알아야합니다.

기본적으로 IMyService(IMyOtherService otherService)의 기본 생성자로 IMyService을 해결하려는 경우 IMyOtherService도 등록해야합니다.

IRepositoryAsync<Movie>을 해결하려면 Repository.Pattern.DataContext.IDataContextAsync을 등록해야합니다.

포괄적 인 문서는 https://docs.microsoft.com/en-us/aspnet/core/fundamentals/dependency-injection