English 中文(简体)
准则准则中的信托问题
原标题:Date fiIter Issues in LINQ
  • 时间:2012-01-14 05:48:54
  •  标签:
  • linq
  • date

I have an ASPX page that collects 5 optional search criteria from a user and returns the result in a grid. Once the criteria are collected and the view button clicked, the code behind generates the filter like we have below

// aSearchCriteria is a class that holds the criteria
...
string filter = string.Empty;

if (!string.IsNullOrEmpty(aSearchCriteria.RegistrationNumber)) filter =
        "f.BusinessRegistrationNumber =  " + 
        aSearchCriteria.BusinessRegistrationNumber + " ";
if (aSearchCriteria.ChangedStartDate != null && aSearchCriteria.ChangedEndDate != null)
{
   if (!string.IsNullOrEmpty(filter))
   {
       filter += " && f.ChangedDate >=  " +
                 aSearchCriteria.ChangedStartDate.ToShortDateString()  + 
                          "  && f.ChangedDate <=  " +
                aSearchCriteria.ChangedEndDate.ToShortDateString() + " ";
   }
   else
   {
       ...
   }
}
...

Using (CustomerEntities db = new CustomerEntities())
{
    if (!string.IsNullOrEmpty(filter))
    {
        filter = "f => " + filter;
        **return db.Customers.Where(filter).ToList();**
    }
    else
    ...
 }
 ...

Sample:

 "filter" value: f => f.ChangedDate >  01/01/2012  && f.ChangedDate <  14/01/2012 

我执行这一错误信息:

问题不成立。 近期;第6行,第5栏。

问题回答

你不想使过滤器成为一种扼杀。 相反,你应当做的是把过滤器应用到你能够得到的治疗。 类似:

var customers = db.Customers.AsQueryable();

if (aSearchCriteria.ChangedStartDate != null && aSearchCriteria.ChangedEndDate != null)
{
    customers = customers
        .Where(c => c.ChangedDate >= aSearchCriteria.ChangedStartDate &&
                    c.ChangedDate >= aSearchCriteria.ChangedEndDate);
}

// ... apply other filters as necessary

return customers.ToList();

Assuming you are using ObjectQuery.Where(string) the string predicate should look like

"it.ChangedDate >  01/01/2012  && it.ChangedDate <  14/01/2012 "

(无 f=>表中的其他部分为)

请确认它有助于:





相关问题
Mysql compaire two dates from datetime?

I was try to measure what is faster and what should be the best way to compare two dates, from datetime record in MySql db. There are several approaches how to grab a date from date time, but I was ...

iPhone Date Picker rolls over to 2010 on December 27th?

So I implemented a UIDatepicker in one of my applications for scheduling and autodialing teleconferences... everything is pretty much ready to go except, while testing I noticed that when the date ...

Convert date Python

I have MMDDYY dates, i.e. today is 111609 How do I convert this to 11/16/2009, in Python?

specifying date format when using $form->inputs() in CakePHP

I am wondering if there is a way to specify the date format in the forms created using CakePHP s $form->inputs(); Please note that this is not the individual $form->input() but instead $form->inputs() ...

NSDateFormat, super simple! Where am I screwing up?

Ok, this is really simple, maybe I m a getting a bit burnt out, but seems like it should work, Query XML feed, put out date string, format, display in a cell. The issue is I m a getting a NULL ...

sqlite writing a date into an email

I am exporting a date value from sqlite and placing it into an email. The date appears like this 279498721.322872 I am using Objective C in an Iphone App. Does anyone know how to make this export ...

热门标签