I可使用 Linq 进行查询以查找日期时间中的字符串部分

问题描述 投票:0回答:1

我想要做的是允许用户搜索结果集中显示的部分日期

结果表

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 条记录。除了日期之外,它适用于所有事情。

c# sql linq
1个回答
1
投票
检查此测试示例,将日期对象替换为您的对象值,并在 contains 中传递您需要检查的值。

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(); } }

让我知道它是否适合您。

© www.soinside.com 2019 - 2024. All rights reserved.