簡體   English   中英

LINQ to Entities(等待操作超時)

[英]LINQ to Entities (The wait operation timed out)

我想在這里找到一個查詢的幫助。 我在我的 ASP.NET MVC 項目中使用 Entity Framework 和 SQL DB。 成型機有記錄。 每條記錄的名稱如“156812 NameOfParameter”,其中數字是成型機生產編號,名稱是參數名稱、日期 成型機每一個循環都會產生一組日期相同的記錄。 但不必是記錄組中的所有參數。 這意味着缺少參數的值與具有較早日期和名稱(如“%NameOfParameter”)的第一條記錄的值相同

我的目標是創建成型機循環列表。 這意味着具有相同日期和時間(沒有毫秒)的參數列表並填充所有缺失值。

來自特定成型機數據庫的數據集和日期從 -> 到

var lisData = GetSet().Where(t => t.Name.Contains(cisloLisu));
            if (request.DateFrom.HasValue && request.DateTo.HasValue)
            lisData= lisData.Where(t => t.SampleDateTime >= request.DateFrom.Value && t.SampleDateTime <= request.DateTo.Value);

1)按日期和時間分組(沒有milisecunde)

            var set =
            from tag in lisData
            group tag by DbFunctions.CreateDateTime(
                tag.SampleDateTime.Year,
                tag.SampleDateTime.Month,
                tag.SampleDateTime.Day,
                tag.SampleDateTime.Hour,
                tag.SampleDateTime.Minute,
                tag.SampleDateTime.Second)
            into zdvih
            select zdvih;

現在我有IQueryble<IGrouping<DateTime?, HistDataView>>對象。

2)從這個對象我需要做成型周期列表

      var set2 =
            from zdvih in set
            let wz = 
                zdvih.FirstOrDefault(t => t.Name.Contains("Cislo nastroje")) ??
                lisData.FirstOrDefault(t => t.SampleDateTime < zdvih.Key && t.Name.Contains("Cislo nastroje"))
            let snr =
                zdvih.FirstOrDefault(t => t.Name.Contains("Cislo dilu")) ??
                lisData.FirstOrDefault(t => t.SampleDateTime < zdvih.Key && t.Name.Contains("Cislo dilu"))               
            select new ZdvihView()
            {
                Datum = zdvih.Key,
                CisloNastroje = wz.Value,
                CisloDilu = snr.Value,
            };

問題是我不知道為什么要花這么多時間。 即使我只看最后一個小時。 我幾乎總是收到錯誤消息“等待操作超時”

Execution Timeout Expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.

感謝您的幫助

使用默認的 SQL Server 探查器來觀察翻譯和執行的 TSQL 查詢。 翻譯后的 TSQL 查詢可能會花費太多時間來執行。 如果不使用像 Linq Insight 這樣的 linq 探查器來分析您的查詢並找到瓶頸。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM