我想要做的是允许用户搜索结果集中显示的部分日期。
结果表
ID | Name | Date
1 Bob 31 August 2018
2 Bill 29 June 2000
31 Foo 1 June 2005
有一个搜索框,如果用户搜索“31”,我需要使用 Linq 和 Entity Framework 6 构建一个
IQueryable<>
var searchValue = "31"
var data = IQueryable<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 条记录。除了日期之外,它适用于所有事情。
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();
}
}
让我知道它是否适合您。