c# - LINQ से SQL में "अपरिचित अभिव्यक्ति नोड एआरएरे इंडेक्स लिनक" अपवाद




linq-to-sql (2)

यहां मेरा LINQ है जिसमें मैं वर्तमान दिनांक के साथ दिनांक का समय क्षेत्र की तुलना करता हूं-

 var srs = (from s in dcDistrict.ScheduledReportStatus
            where s.ReportConfigId.Equals(ConfigId)
            && s.Status.HasValue && s.Status.Value
            && (Convert.ToString(s.SentDate).Split(' ')[0]).Equals(Convert.ToString(DateTime.Now.Date).Split(' ')[0])
            select s).FirstOrDefault();

यह कोड उत्तेजना "अज्ञात अभिव्यक्ति नोड सरणी सूचकांक linq दे रहा है", क्या मैं कुछ गलत कर रहा हूं?


जितना आप सर्वर पर कर सकते हैं, उतना फ़िल्टर करें और फिर, आप ग्राहक पर क्या नहीं कर सकते।

var startDate = new DateTime(DateTime.Today.Year, 1, 1);
var endDate = startDate.AddYears(1);
var serverQuery = from s in dcDistrict.ScheduledReportStatus
    where s.SentDate >= startDate && s.SentDate < endDate
        && s.ReportConfigId.Equals(ConfigId)
        && s.Status.HasValue && s.Status.Value
    select s;
var clientQuery = from s in serverQuery
    where // whatever client side filtering
    select s;

मुझे समाधान मिल गया है, मुझे "असेंनामरेबल ()" का उपयोग करने की क्या आवश्यकता है, यहां मेरे LINQ-

 Var srs = (from s in dcDistrict.ScheduledReportStatus.AsEnumerable()
                                         where s.ReportConfigId.Equals(ConfigId)
                                         && s.Status.HasValue && s.Status.Value
                                         && (Convert.ToString(s.SentDate).Split(' ')[0]).Equals(Convert.ToString(DateTime.Now.Date).Split(' ')[0])
                                         select s).FirstOrDefault();

Asenumerable () कोड क्लाइंट पक्ष का कुछ हिस्सा किया जो मेरी समस्या को हल करता है







linq-to-sql