簡體   English   中英

在具有Linq實體的JQuery Datepicker捕獲的兩個日期之間進行選擇

[英]Make a Select between two dates captured by JQuery Datepicker with Linq Entities

我正在使用Database First,EF 6,Visual Studio 2013 Pro。

這是Controller上的代碼

    public ActionResult Index(string searchString, string datepicker, string datepicker2)
    {
        var transactions = db.transactions.Include(t => t.Client).Include(t => t.DocumentType).Include(t => t.MovementType1);
        if (!String.IsNullOrEmpty(searchString))
        {
            transactions = transactions.Where(s => s.Client.Name.Contains(searchString) && 
                                              s.Date >= Convert.ToDateTime(datepicker) && s.Date < Convert.ToDateTime(datepicker2));     
        }
        return View(transaccions.ToList());
    }

通過客戶名稱搜索時,它可以很好地進行選擇。

這是View的代碼

@using (Html.BeginForm())
{
 <p>
    Search Transactions by Name: @Html.TextBox("SearchString") 
    First Date:  
                  <input type="text" id="datepicker"/>
    Second Date: 
                   <input type="text" id="datepicker2"/>

    <input type="submit" value="Search"/>
</p> 
}

如您所見,我通過日期選擇器中用戶所做的選擇來捕獲日期。

我想執行此查詢: SELECT * FROM TRANSACTION WHERE Client.Name LIKE (searchString) AND DATE BETWEEN (datepicker) AND (datepicker2)

我想按客戶的名字和日期范圍進行搜索。

問題是Linq沒有識別轉換方法。

我一直在尋找一種方法來做到這一點,沒有一個與我的代碼兼容。

有什么建議么?

您需要在Linq查詢之外進行轉換:

public ActionResult Index(string searchString, string datepicker, string datepicker2)
{
    var transactions = db.transactions.Include(t => t.Client).Include(t => t.DocumentType).Include(t => t.MovementType1);
    if (!String.IsNullOrEmpty(searchString))
    {
        //Get your dates here...
        var fromDate = Convert.ToDateTime(datepicker);
        var toDate = Convert.ToDateTime(datepicker2);

        transactions = transactions.Where(s => s.Client.Name.Contains(searchString) && 
                                          s.Date >= fromDate && s.Date < toDate);     
    }
    return View(transaccions.ToList());
}

暫無
暫無

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

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