دسته بندی ها
08:22 1398/11/05

جستجو به صورت از تاریخ تا تاریخ با استفاده از انتیتی فریم ورک در تاریخ شمسی

مشخصات سوال کننده :
کاربر : Soltani     امتیاز کاربر : 3     رتبه کاربر : 136
دسته بندی : Asp.net Core

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 4516
پاسخ دهنده : hamdola 15:51 1398/11/05

برای جستجو در بین 2 بازه تاریخی چندین راه حل وجود داره.

راه اول اینه که شما تاریخ هاتون رو از نوع DateTime توی دیتابیس در نظر بگیرید. در این صورت جستجو خیلی ساده تر هست چون خود DataType از نوع DateTime قابلیت های زیادی رو برای جستجو به شما می ده

 

اما راه حل دوم این هست که احتمالا شما فیلد تاریخ رو از نوع varchar در نظر گرفتید و تاریخ رو هم به صورت 1398/05/09 ذخیره سازی می کنید. در این صورت می تونید از طریق دستورات Entity Framework زیر برای جستجو استفاده کنید

 

         if (fromdate != null)
                {
                    if (todate != null)
                    {
                        //FromDate And ToDate
                        var query = _context.TableUW.Get(
                            c => c.Date.CompareTo(fromdate) >= 0 && c.Date.CompareTo(todate) <= 0
                            ).Count();
                    }
                    else
                    {
                        //FromDate
                        var query = _context.TableUW.Get(
                        c => c.Date.CompareTo(fromdate) >= 0).Count();
                    }
                }
                if (todate != null && fromdate == null)
                {
                    //Todate
                    var query = _context.TableUW.Get(
                        c => c.Date.CompareTo(todate) <= 0).Count();
                }

در این مورد دقت کنید که حتما تاریخ رو با فرمت صحیح ذخیره کنید.

 

فرمت صحیح : 1398/05/06

فرمت غلط : 1398/5/6

ویرایش شده در شنبه 5 بهمن 1398 ساعت 15:52:50
به این پاسخ امتیاز بدهید    0
امتیاز: 121 رتبه: 12
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود