Ошибка CS0308 Неуниверсальный метод 'ICollection <ServiceDescriptor>.Add (ServiceDescriptor)' нельзя использовать с аргументами типа в моем файле Startup.cs. - PullRequest
0 голосов
/ 11 марта 2019

В последнее время я работаю с SqlKATA Query Builder.Я следовал шагам, указанным в здесь .После устранения некоторых ошибок, когда в моем коде не было красной подчеркивания, я запустил свое решение.Тогда я получил ошибку CS0308.Когда я попытался устранить неполадки в своем решении, я прокомментировал раздел из файла Startup.cs, где я нашел его в методе ConfigureServices:

services.Add<QueryFactory>(() => { var connection = new SqlConnection( "Data Source=serverName\serverInstance;Initial Catalog=databaseName;Integrated Security=True"); var compiler = new SqlServerCompiler(); return new QueryFactory(connection, compiler); });

После этого он работал гладко с отображаемым текстом.задавать.Но когда я раскомментировал раздел, он снова показал мне ошибку.

Есть идеи почему?Любая помощь приветствуется! РЕДАКТИРОВАНИЕ: var connection = new SqlConnection( "Data Source=serverName\\serverInstance;Initial Catalog=databaseName;Integrated Security=True");

1 Ответ

1 голос
/ 20 апреля 2019

Не знаю, актуально ли это до сих пор, но способ ввода объекта QueryFactory в обработчик запросов через конструктор DI был таким же, как в Startup.cs - ConfigureServices:

        services.AddScoped(factory =>
        {
            return new QueryFactory
            {
                Compiler = new SqlServerCompiler(),
                Connection = new SqlConnection(connStr),
                Logger = compiled => Console.WriteLine(compiled)
            };
        });

PS: это .NET Core

...