簡體   English   中英

使用實體框架按日期執行搜索

[英]Perform search by Date using entity framework

我嘗試在實體框架中進行搜索查詢。 我的表Project帶有“ Id”,“ ProjectName”,“ Description”和“ modificationdate”等。我想搜索“ ProjecName”,“ Description”和“ modificationdate”。 我成功地在“ ProjectName”和“ Description”上執行了搜索,但是我不知道如何按日期執行搜索

var found = from n in context.Project
                            where n.projectName.Contains(SearchKey) ||
                            n.description.Contains(SearchKey) 
                        select n;

您可以使用例如大於號> ,小於號<和等於==運算符(請參閱以獲得完整列表)來按日期搜索。 一周或更短時間內修改項目的示例:

DateTime.Now.AddDays(-7) > n.modificationdate

如果您不想包括時間,則可以使用Date屬性將其排除:

DateTime.Now.AddDays(-7).Date > n.modificationdate.Date

編輯:按給定日期搜索:

date == n.modificationdate

date是給定的日期。 如果在SearchKey變量(我假設是string )中指定了日期,則必須先將其解析為日期。

從評論中得出您的意思:

實際上,我嘗試在給定日期執行搜索

如果要搜索給定日期的修改,只需搜索大於或等於日期開始的值,然后搜索小於第二天的所有值。

var searchDate = new DateTime(2013, 2, 5); // or searchDateWithTime.Date
var searchDatePlusOne = searchDate.AddDays(1);

return from n in context.Project
       where n.ModificationDate >= searchDate
             && n.ModificationDate < searchDatePlusOne
       select n;

如果n.ModificationDate包含日期,則n.ModificationDate == searchDate是足夠的謂詞。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM