У меня есть SQL-сервер со следующим макетом
Table ( id int
title varchar(40),
start Date(),
end Date(),
allDay bool,
username varchar(40)
);
Я получил следующий код из этого блога для создания объекта JSON из данных, которые я хочу использовать, однако его данные хранятся по-другому. Как мне создать тот же объект, извлеченный из моей базы данных?
Я предполагаю, что мне нужно сделать файл файлом .cshtml, а не файлом .js и использовать это:
@{
var db = Database.Open("events");
var selectQueryString = "SELECT * FROM events";
}
@foreach(var row in db.Query(selectQueryString)){ }
Но как мне адаптировать этот код для создания того же объекта JSON?
Вот соответствующий код из блога, моя попытка ниже:
public JsonResult GetEvents(double start, double end)
{
var userName = Session["UserName"] as string;
if(string.IsNullOrEmpty(userName))
{
return null;
}
var fromDate = ConvertFromUnixTimestamp(start);
var toDate = ConvertFromUnixTimestamp(end);
var rep = Resolver.Resolve<IEventRepository>();
var events = rep.ListEventsForUser(userName,fromDate,toDate);
var eventList = from e in events
select new {
id = e.Id,
title = e.Title,
start = e.FromDate.ToString("s"),
end = e.ToDate.ToString("s"),
allDay = false
};
var rows = eventList.ToArray();
return Json(rows,JsonRequestBehavior.AllowGet);
}
Редактировать:
Сейчас я работаю со следующим кодом .cshtml для команды GetEvents, но он не будет работать. У кого-нибудь есть идеи?
@{
var origin = new DateTime(1970, 1, 1, 0, 0, 0, 0);
var fromDate = origin.AddSeconds((Request["start"]));
var toDate = origin.AddSeconds(Request["end"]);
var db = Database.Open("events");
var result = db.Query("SELECT * FROM events");
var data = result.Select(x => new
{
id = x.id,
title = x.title,
start = x.start.ToString("s"),
end = x.end.ToString("s"),
allDay = false
}).ToArray();
Json.Write(data, Response.Output);
Response.ContentType = "application/json";
}