मेरे पास 2 पैरामीटर हैं। एक डिफॉल्टफ्रॉमडी है और दूसरा डिफॉल्ट टॉड है। अगर मैं इसके लिए 2 तारीख की सीमा दे दूं x.CreatedOn >= defaultFromD && x.CreatedOn <= defaultToD
x. CreatedOn >= '2021-10-17' && x. CreatedOn <= '2021-10-20'
यह काम कर रहा है। लेकिन अगर मैं इन दो मापदंडों के लिए एक ही तारीख देता हूं तो यह स्थिति काम नहीं कर रही है।
x. CreatedOn >= '2021-10-20' && x. CreatedOn <= '2021-10-20'
मैं जानना चाहता हूं कि इस 2 तर्क को एक शर्त में कैसे पास किया जाए। कृपया इस मुद्दे को हल करने में मेरी मदद करें।
शुक्रिया...
public ResponseDTO<IQueryable<LabRequestForLabOrderDTO>> GetApprovedLabRequestsQueryable(DateTime defaultFromD, DateTime defaultToD)
{
var resp = ResponseBuilder.Build<IQueryable<LabRequestForLabOrderDTO>>();
var reqs = this.labRequestRepository.GetAllActive().Where(x => x.IsActive && x.TrxStatus == 1 && x.InvoiceStatus == "Approved"
&& x.CreatedOn >= defaultFromD && x.CreatedOn <= defaultToD)
.Select(x => new LabRequestForLabOrderDTO
{
Clinic = x.Clinic,
LabOrderCreated = x.LabOrderCreated,
InvoiceStatus = x.InvoiceStatus,
CreatedOn = x.CreatedOn
}).AsQueryable();
resp.AddSuccessResult(reqs);
return resp;
}
3 जवाब
मेरे लिए यह काम
var todate = defaultToD.AddDays(1);
x.CreatedOn >= defaultFromD && x.CreatedOn <= todate
<=
x.CreatedOn <= todate
में नहीं होना चाहिए अन्यथा यह डिफ़ॉल्ट के बाद किसी भी तारीख से मेल खाएगा FromD और x.CreatedOn >= todate
बेमानी है?
यह डेटटाइम और डेट फॉर्मेट के कारण है।
आपको निम्न तरीके से प्रयास करना चाहिए।
आप कॉलम पर विचार करें CreatedOn डेटाटाइप है: डेटटाइम
x.CreatedOn.Date >= '2021-10-20' && x.CreatedOn.Date <= '2021-10-20'
ये कोशिश करें
x.CreatedOn.AddDays(-1) > defaultFromD && x.CreatedOn.AddDays(1) < defaultToD
संबंधित सवाल
नए सवाल
c#
C # (उच्चारण "तेज देखें") Microsoft द्वारा विकसित एक उच्च स्तरीय, सांख्यिकीय रूप से टाइप किया हुआ, बहु-प्रतिमान प्रोग्रामिंग भाषा है। C # कोड आमतौर पर Microsoft के .NET परिवार के टूल और रन-टाइम को लक्षित करता है, जिसमें .NET फ्रेमवर्क, .NET कोर और Xamarin अन्य शामिल हैं। C # या C # के औपचारिक विनिर्देश में लिखे गए कोड के बारे में प्रश्नों के लिए इस टैग का उपयोग करें।
x.CreatedOn >= '2021-10-20' && x.CreatedOn <= '2021-10-20'
x.CreatedOn = '2021-10-20'
के बराबर है और तालिका में किसी भी रिकॉर्ड से मेल नहीं खा सकता है। यदिCreatedOn
एकdate
फ़ील्ड होता तो यह उस तिथि के साथ किसी भी पंक्ति से मेल खाता। अगर यहdatetime
,datetime2
आदि है, तो यह उन पंक्तियों से मेल खाएगा जो बिल्कुल2021-10-20 00:00:00.0000
हैंCreatedOn
क्या है? यदि यह एक टेबल कॉलम है तो इसका प्रकार क्या है? यदि इसमें समय घटक है तो क्वेरी कोx.CreatedOn >=date.Date && x.CreatedOn < date.Date.AddDays(1)
में बदलना होगा