【问题标题】:no overload for method 'all' takes 0 arguments方法 'all' 没有重载需要 0 个参数
【发布时间】:2020-02-27 15:00:51
【问题描述】:

我想获取所有过程代码,但在 coun() 工作正常时出现错误“方法 'all' 没有重载需要 0 个参数”

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();
        }
    }

【问题讨论】:

  • 你认为只做.All() 应该完成什么? CountAll 不做同样的事情,所以这样比较它们并没有什么用处。
  • All 仅返回一个布尔值,指示列表中的所有元素是否满足条件。当你想返回所有元素时,只需使用procedureCode = srcContext.ProcedureCodes
  • @HimBromBeere 感谢您在我使用时回复。我得到了异常“该函数评估所有要运行的线程”
  • @HimBromBeere 我的问题解决了

标签: c# asp.net asp.net-mvc abp


【解决方案1】:

看起来您正在尝试将列表中的所有项目存储到变量中。

All 方法是一种适用于集合的方法。这意味着 srcContext.ProcedureCodes 已经是您尝试获取的值。 (你可能还得打电话给ToList()

Count 是列表中的一种方法,用于计算该列表中的项目数,因此srcContext.ProcedureCodes.Count(); 将为您提供srcContext.ProcedureCodes 中的元素数。

All 是一个带参数的方法,即 All 应用于列表中所有元素的函数。此函数必须具有列表类型的参数 All works on,并且必须返回 boolean 值。方法All 将返回true 本身,如果将函数应用于列表中的所有元素也会给出true

【讨论】:

  • 太好了,别忘了关闭或删除您的问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多