нет перегрузки для метода "все" принимает 0 аргументов - PullRequest
0 голосов
/ 27 февраля 2020

я хочу получить все коды процедур, но я получил ошибку "нет перегрузки для метода 'all' принимает 0 аргументов", пока count () работает нормально

private static void Processor()
    {
        IUnitOfWorkManager _unitOfWorkManager = IocManager.Instance.Resolve<IUnitOfWorkManager>();
        IDbPerTenantConnectionStringResolver _connectionStringResolver = IocManager.Instance.Resolve<IDbPerTenantConnectionStringResolver>(); ;
        IDbContextResolver _dbContextResolver = IocManager.Instance.Resolve<IDbContextResolver>();
        var srcConnectionString = "Server=NABIIL\\SQLEXPRESS; Database=db-qa; Trusted_Connection=True;"; //ConnectionStringHelper.GetConnectionString("Default");
        var targetConnectionString = "Server=NABIIL\\SQLEXPRESS; Database=db-Migrated; Trusted_Connection=True;";  //ConnectionStringHelper.GetConnectionString("Target");
        DbContext srcContext, targetContext;
        Debugger.Break();
        var procedureCode = "";
        using (srcContext= _dbContextResolver.Resolve<DbContext>(srcConnectionString, null))
        {
            //var items = srcContext.Patients.Count();
            procedureCode = srcContext.ProcedureCodes.All();
            Debugger.Break();

            //_unitOfWorkManager.Current.SaveChanges();
        }

        using (targetContext = _dbContextResolver.Resolve<DbContext>(targetConnectionString, null))
        {
            Debugger.Break();
            //var items = targetContext.Patients.Count();
            targetContext.Patients.add(procedureCode);
            //_unitOfWorkManager.Current.SaveChanges();
        }
    }

1 Ответ

1 голос
/ 27 февраля 2020

Похоже, вы пытаетесь сохранить все элементы в списке в переменной.

Метод All - это метод, который работает с коллекцией. Это означает, что srcContext.ProcedureCodes уже является значением, которое вы пытаетесь получить. (Вам, вероятно, еще нужно вызвать ToList())

Count - это метод в списке, который будет подсчитывать количество элементов в этом списке, поэтому srcContext.ProcedureCodes.Count(); даст вам количество элементов в srcContext.ProcedureCodes.

All - это метод, который принимает аргумент, то есть функцию, которая применяется ко всем элементам списка. Эта функция должна иметь аргумент типа списка, над которым все работает, и должна возвращать значение boolean. Метод All сам вернет true, если применение функции ко всем элементам в списке также даст true.

...