में अनावश्यक रूपांतरण मेरे पास bigint
डेटाबेस और प्राथमिक डेटा डेटाबेस के साथ इकाई डेटा मॉडल के साथ कर्मचारी तालिका है। के रूप में निम्नलिखित कर्मचारी वर्ग इस संरचनाबिगिन
public partial class Employee
{
public long Emp_No { get; set; }
public string Name { get; set; }
public string Family { get; set; }
...
}
मैं इकाई की रूपरेखा के साथ इस मूल क्वेरी लिखने
List<long> ids = new List<long>() {1,2,3,4,5,6}
database.Employees.Where(q => ids.Contain(q.Emp_No)).ToList();
यह क्वेरी उत्पन्न होते हैं:
SELECT
[Extent1].[Emp_No] AS [Emp_No],
[Extent1].[Name] AS [Name],
[Extent1].[Family] AS [Family],
...
FROM [dbo].[Employee] AS [Extent1]
WHERE [Extent1].[Emp_No] IN (cast(0 as bigint),
cast(1 as bigint),
cast(2 as bigint),
cast(3 as bigint),
cast(4 as bigint),
cast(5 as bigint),
cast(6 as bigint))
के रूप में आप देख सकते हैं करने के लिए अनावश्यक डाली है क्वेरी में बिगिनट जबकि Emp_No
और ids
सरणी long
दोनों हैं, यह खराब निष्पादन समय विशेष रूप से ids
सरणी में कई तत्व हैं।
मैं इस अनावश्यक कलाकार को कैसे हटा सकता हूं?
मैं यह नहीं कर सकता .. मुझे लंबे प्रकार की आवश्यकता है –