Я использую Database First, EF 6, Visual Studio 2013 Pro.
Это код на контроллере
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());
}
Он хорошо сделал выбор при поиске по имени клиента.
Это код представления
@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 не распознает метод преобразования.
Я искал способ сделать это, и ни один из них не совместим с моим кодом.
Какие-либо предложения?