Ошибка при попытке добавить Irepositories к сервисам с помощью addScoped ASP.Net core 2.1 - PullRequest
0 голосов
/ 13 сентября 2018

Я пытаюсь добавить свой интерфейс Irepository и irepository к сервисам, чтобы я мог их использовать.

Я делаю это так:

services.AddScoped<AuctioniRepository, IrepoAuctionInterface>();

И вот ошибкаЯ получаю:

Ошибка CS0311 Тип 'NackowskiLillMygel.Data.IrepoAuctionInterface' нельзя использовать в качестве параметра типа 'TImplementation' в универсальном типе или методе 'ServiceCollectionServiceExtensions.AddScoped (IServiceCollection)'.Не существует неявного преобразования ссылок из 'NackowskiLillMygel.Data.IrepoAuctionInterface' в 'NackowskiLillMygel.Data.AuctioniRepository'.NackowskiLillMygel source \ repos \ NackowskiLillMygel \ NackowskiLillMygel \ Startup.cs 39 Активный

Я не понимаю, что я сделал неправильно.Также, если вам нужно больше кода из репозиториев, пожалуйста, скажите мне.

Я очень благодарен за ответы!

1 Ответ

0 голосов
/ 13 сентября 2018

Вы регистрируете интерфейс как реализацию IrepoAuctionInterface. Подпись метода .AddScoped () выглядит следующим образом:

public static IServiceCollection AddScoped<TService, TImplementation>(this IServiceCollection services)
    where TService : class
    where TImplementation : class, TService;

Это означает, что TService должен реализовывать TImplementation, вы сделали это наоборот.

Вы должны перевернуть аргументы следующим образом:

services.AddScoped<IrepoAuctionInterface, AuctioniRepository>();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...