加载嵌入实体时发生EntityCommandExecutionException

本文关键字:EntityCommandExecutionException 实体 加载 | 更新日期: 2023-09-27 18:06:09

我有一个代码,从我的数据库获取所有产品:

using (var entities = new DataEntities())
        {
            var products = entities.Products.AsQueryable();
            if (!string.IsNullOrEmpty(nameFilter))
            {
                products = products.Where(o => o.Name.Contains(nameFilter));
            }
            var result = products.Select(ProductBuilder.CreateProductDto);
            return result.ToList();
        }

CreateProductDto 方法:

        public static ProductDto CreateProductDto(this Product product)
    {
        return new ProductDto
        {
            Id = product.Id,
            Name = product.Name,
            IsEnabled = product.IsEnabled,
            KeyPairDto = new KeyPairDto()
            {
                Id = product.KeyPair.Id,
                EncryptedPrivateExponent = product.KeyPair.EncryptedPrivateExponent,
                Modulus = product.KeyPair.Modulus,
                PublicExponent = product.KeyPair.PublicExponent,
            },
        };
    }

在我同事的机器上运行得很好。但是我得到EntityCommandExecutionException与以下内部异常:已经有一个开放的数据阅读器与这个命令相关联,必须首先关闭。试图访问product.KeyPair .

有趣的是,如果我刷新product.KeyPair通过调试器-它加载良好

加载嵌入实体时发生EntityCommandExecutionException

添加

MultipleActiveResultSets=true

到实体框架连接字符串中连接字符串的提供者部分(即定义数据源、初始目录等的部分)

相关文章:
  • 没有找到相关文章