У меня есть приложение Entity MVC с базой данных с кодом.Мне нужно создать окно поиска для поиска между двумя датами и вернуть записи между этими датами.Я вызову метод с помощью jQuery / ajax и выведу результаты в таблицу.
Я попытался написать API, но безуспешно.Я даже не уверен, что это правильный путь?
namespace Areometrex_Leaflet.Models
{
[Table ("Flight_Lines")]
public class Flight_line
{
[Key]
public string Swath_name { get; set; }
public string Flight_name { get; set; }
public string Swath_record { get; set; }
public string Flight_date { get; set; }
public decimal Start_lat { get; set; }
public decimal Start_long { get; set; }
public decimal End_lat { get; set; }
public decimal End_long { get; set; }
public decimal Altitude { get; set; }
public DateTime Time_start { get; set; }
public DateTime Time_end { get; set; }
public string Sensor { get; set; }
}
public class FlightLineContext : DbContext
{
public DbSet<Flight_line> Flight_Lines { get; set; }
}
}
Это моя модель, которая хранит объекты в базе данных.Мне нужно найти свойство «Flight_date», которое хранится в моей БД в следующем формате как «nvarchar»:
17/11/2018 11:09:18 PM
Мой текущий API выглядит примерно так:
[HttpPost]
public IEnumerable<Flight_line> SearchFlight_Line()
{
string start, end;
var rc = RequestContext;
var data = rc.Url.Request.GetQueryNameValuePairs();
{
start = data.FirstOrDefault().Value ?? string.Empty;
end = data.LastOrDefault().Value ?? string.Empty;
}
//db format: 17/11/2018 11:22:56 PM
var s = DateTime.Parse(start);
var flightSearch = new List<Flight_line>();
using (_context)
{
var sql = $"SELECT * FROM Flight_Lines WHERE Flight_Date BETWEEN '{start}' AND '{end}'";
flightSearch = _context.Flight_Lines.SqlQuery(sql).ToList<Flight_line>();
}
return flightSearch;
}
В идеале я хочу вызвать этот API с помощью jquery / Ajax и вернуть результаты, которые будут отображены в виде MVC.Я предполагаю, что это очень просто, но я только учусь и у меня заканчиваются идеи.Я бы подумал, что это действительно просто, но я изо всех сил пытаюсь найти ответы, которые я ищу в Интернете, что наводит меня на мысль, что, возможно, я делаю это неправильно?