我想做的是允许用户搜索结果集中显示的日期的部分。
结果表
ID | Name | Date
1 Bob 31 August 2018
2 Bill 29 June 2000
31 Foo 1 June 2005
有一个搜索框,如果用户搜索说“ 31”,则需要使用Linq和Entity Framework 6构建一个IQuerable <>。
var searchValue = "31"
var data = IQuerable<T>
data.Where(x => x.Date.ToString("D").Contains(searchValue)
|| x.Id.Contains(searchValue)
|| x.Name.Contains(searchValue)).Take(x).Skip(Y)
结果应为
ID | Name | Date
1 Bob 31 August 2018
31 Foo 1 June 2005
但是结果始终为空。
我正在搜索的表大约有500,000条记录。 除日期外,它适用于所有内容。
答案 0 :(得分:1)
选中此测试示例,用您的对象值替换date对象,并在其中包含一个需要检查的值中传递一个值。
class Program
{
static void Main(string[] args)
{
var data = new DateTime[] { new DateTime(2018, 09, 01), new DateTime(2018, 08, 11) };
var query = data.Where(x => x.Date.ToString("D").Contains("Aug"));
foreach (var dat in query)
{
Console.WriteLine(dat);
}
Console.ReadKey();
}
}
让我知道它是否对您有用。