首页 > 解决方案 > 当通用存储库与 List 一起使用时,Linq 到实体给出错误目的

问题描述

在我的 ASP.NET Web API 项目中,我尝试在其中一种方法下将通用存储库与 List 对象一起使用。但它抛出异常

引发异常:System.Data.dll System.Data.Entity.Core.EntityCommandExecutionException 中的“System.Data.SqlClient.SqlException”:关闭数据读取器时调用“Read”不是有效操作。---> System.Data.SqlClient.SqlException:执行超时已过期。在操作完成之前超时时间已过或服务器没有响应。---> System.ComponentModel.Win32Exception:等待操作超时

lstFinalResult 对象包含几行。partnerRepo 是一个通用的 repo,我想在后期会有数据。

请告知,我在哪里犯了错误。我们可以在 linq 查询中将 List 与通用存储库对象混合吗?

这是 linq 代码:-

    List<UserDocumentResult> lstFinalResult = new List<UserDocumentResult>();

        foreach (DocumentMapping dm in lstMappings)
        {
            lstFinalResult.Add(new UserDocumentResult { PID = dm.PartnerID,
                DocMappingID = dm.DocumentMappingID,
                EntityType = "",
                Name = ""
            });
        }


        var partnerRepo = _docRepository.PtGenericRepo.Get();
        var entityCodesRepo = _docRepository.EntityCodeGenericRepo.Get();


---While debugging, I am getting error in the below code only. 

 var qualifiedPartnerSet = (from tmp in lstFinalResult
                            join px in partnerRepo on tmp.PID equals px.PartnerID
                           join ecx in entityCodesRepo on px.EntityCodeID equals ecx.EntityCodeID

                      select new UserDocumentResult
                       {
                         PID = px.PartnerID,
                         MappingID = tmp.MappingID,
                         EntityType = ecx.DisLabel.Trim(),
                         Name = px.NameLine1.Trim() + px.NameLine2.Trim(),
                         }).ToList();

标签: linqlinq-to-sqllinq-to-entities

解决方案


推荐阅读