У меня есть ajax-запрос, он получает строку из поля ввода и отправляет ее на сервер, ожидая получения коллекции объектов. Я должен получить коллекцию Заметок, в которой заметка имеет объект Журнал, объект Категория, объект Пользователь, однако, если я удаляю их, а не включаю их, синтаксический анализ работает правильно.
Способ получения коллекции:
public ICollection<NoteViewModel> SearchByTextAsync(string text)
{
var notes = this.dbContext.Notes
//.Include(l => l.Logbook)
// .ThenInclude(x => x.LogbookManagers)
//.Include(x => x.Logbook)
// .ThenInclude(s => s.Business)
//.Include(c => c.Category)
//.Include(u => u.User)
.Where(n => n.Text.Contains(text))
.ToList();
var mappedNotes = this.mappingProvider.MapTo<ICollection<NoteViewModel>>(notes);
return mappedNotes;
}
Если я просто удаляю четыре включаемых файла, синтаксический анализ работает нормально! Как я могу получить коллекцию с включенными объектами?
Ajax call
$("#target").keyup(function (event) {
var request = $.ajax({
url: "/Management/Management/GetNotesAsyncJson",
type: "POST",
data: { "data": event.target.value },
dataType: 'json'
});
request.done(function (data) {
$.each(data, function (index) {
var textToPrepend =
"<div class='pricing-option' id='idPlace'>" +
"<i class='material-icons'> mode_comment</i>" +
"<h1 class='note-title' id='titlePlace'>admin@admin.admin</h1>" +
"<hr />" +
"<p id='textPlace'>" + data[index].text + "</p>" +
"<hr />" +
"<p id='priorityPlace'>" + data[index].prioritytype + "</p>" +
"<hr />" +
"<div class='price'>" +
"<div class='front'>" +
"<span class='note-title'>@Model.Category?.Name </span>" +
"</div>" +
"<div class='back'>" +
"<i class='material-icons' id='editNote' data-Id='@Model.Id'>edit</i>" +
"<i class='material-icons' id='deleteNote' data-Id='@Model.Id'>remove_circle</i>" +
"<i class='material-icons' id='archiveNote'>archive</i>" +
"</div>" +
"</div>" +
"</div>";
$('.pricing-table').prepend(textToPrepend)
});
})
request.fail(function (data) {
console.log(data);
console.log(data.responseText)
})
});
Контроллер
public JsonResult GetNotesAsyncJson(string data)
{
var notes = this.noteService.SearchByTextAsync(data);
var model = new SearchViewModel();
model.Notes = notes;
return Json(model.Notes);
}