У меня есть две модели, которые связаны Foreign Key
, и в моем представлении я хочу отобразить Имя, присвоенное ID
Вот мое действие Servis, которое используется для извлечения данных из db
public ListaSveVM UcitajIzvjestaj()
{
var listaFromDb = _context.IzvjestajDefinicija.Where(x => x.Status == 1).ToList().OrderByDescending(x => x.IzvjestajDefinicijaId);
var listaM = new List<GenerisaniIzvjestajiVM>();
foreach (var i in listaFromDb)
{
var novizv = new GenerisaniIzvjestajiVM();
novizv.IzvjestajiGenerisaniId = i.IzvjestajDefinicijaId;
novizv.KratkiNazivDefinicijeI = (_context.IzvjestajDefinicija.Where(x => x.IzvjestajDefinicijaId == i.IzvjestajDefinicijaId && x.Status == 1).FirstOrDefault()).KratkiNaziv;
novizv.Naziv = i.Naziv;
novizv.Opis = i.Opis;
novizv.DatumKreiranja = i.DatumUnosa;
novizv.DatumAzuriranja = i.DatumAzuriranja;
novizv.IzvjestajXsdshemaiId = i.IzvjestajXsdshemaiId;
listaM.Add(novizv);
}
var lista = "";
lista = JsonConvert.SerializeObject(listaM, Newtonsoft.Json.Formatting.None);
var listaVM = new ListaSveVM();
listaVM.sve = lista;
return listaVM;
}
И в моем представлении у меня есть данные для отображения этих данных
$(document).ready(function () {
$('#tabela').dataTable({
language: {
buttons: {
copyTitle: 'Uspjeh',
copySuccess: {
_: '%d redova kopirano',
1: '1 red kopiran'
}
},
processing: "Upit se obrađuje...",
search: "Pretraga :",
lengthMenu: "_MENU_ redova",
info: "Prikazano _START_ do _END_ od ukupno _TOTAL_ redova",
infoEmpty: "Nema zapisa...",
infoFiltered: "(filtrirano _MAX_ redova ukupno)",
infoPostFix: "",
loadingRecords: "Zapisi se učitavaju...",
zeroRecords: "U tabeli je nula redova.",
emptyTable: "Tabela je prazna!",
select: {
rows: {
_: "",
0: "",
1: ""
}
},
paginate: {
first: "Prvi",
previous: "<i class='fas fa-arrow-left'></i>",
next: "<i class='fas fa-arrow-right'></i>",
last: "Posljednji"
},
aria: {
sortAscending: ": ",
sortDescending: ": "
}
},
order: [[0, 'dsc']],
data: @Html.Raw(@Model.sve),
columns: [
{
data: "IzvjestajiGenerisaniId",
"width": 20,
"className": 'dt-body-center'
},
{ data: "KratkiNazivDefinicijeI" },
{ data: "IzvjestajXsdshemaiId" },
{ data: "Naziv" },
{ data: "Opis" },
{
data: "DatumKreiranja",
"mRender": function (data, type, full) {
return (moment(data).format("DD-MM-YYYY"));
}
},
{
data: "DatumAzuriranja",
"mRender": function (data, type, full) {
return (moment(data).format("DD-MM-YYYY"));
}
},
]
}); //kraj tabele
var table = $('#tabela').DataTable();
// Primjeni pretragu samo za odabrane kolone
table.columns([1, 2, 3]).every(function () {
var that = this;
$('input', this.footer()).on('keyup change', function () {
if (that.search() !== this.value) {
that
.search(this.value)
.draw();
}
});
});
});
Но он просматривает его отображающий идентификатор, и сейчас я хочу преобразовать этот идентификатор в имя. Я пытаюсь вставить мою модель
[Display(Name = "NameOfXSDSchema")]
Но это не работает.
ОБНОВЛЕНИЕ
У меня есть две модели
using System;
using System.Collections.Generic;
namespace IZ.Model.DBModels
{
public partial class IzvjestajXsdshema
{
public IzvjestajXsdshema()
{
IzvjestajDefinicija = new HashSet<IzvjestajDefinicija>();
IzvjestajiGenerisani = new HashSet<IzvjestajiGenerisani>();
}
public int IzvjestajXsdshemaiId { get; set; }
public string Shema { get; set; }
public byte Status { get; set; }
public DateTime DatumUnosa { get; set; }
public DateTime? DatumAzuriranja { get; set; }
public string KorisnikUnosa { get; set; }
public string KorisnikAzurirao { get; set; }
public string HederXls { get; set; }
public virtual ICollection<IzvjestajDefinicija> IzvjestajDefinicija { get; set; }
public virtual ICollection<IzvjestajiGenerisani> IzvjestajiGenerisani { get; set; }
}
}
using System;
using System.Collections.Generic;
namespace IZ.Model.DBModels
{
public partial class IzvjestajDefinicija
{
public IzvjestajDefinicija()
{
IzvjestajElementi = new HashSet<IzvjestajElementi>();
IzvjestajiGenerisani = new HashSet<IzvjestajiGenerisani>();
}
public int IzvjestajDefinicijaId { get; set; }
public int? IzvjestajTipId { get; set; }
public int? IzvjestajXsdshemaiId { get; set; }
public string KratkiNaziv { get; set; }
public string Naziv { get; set; }
public string Opis { get; set; }
public byte Status { get; set; }
public DateTime DatumUnosa { get; set; }
public DateTime? DatumAzuriranja { get; set; }
public string KorisnikUnosa { get; set; }
public string KorisnikAzurirao { get; set; }
public virtual IzvjestajTip IzvjestajTip { get; set; }
public virtual IzvjestajXsdshema IzvjestajXsdshemai { get; set; }
public virtual ICollection<IzvjestajElementi> IzvjestajElementi { get; set; }
public virtual ICollection<IzvjestajiGenerisani> IzvjestajiGenerisani { get; set; }
}
}
И одна ViewModels, которую я использую для получения данных из него
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Text;
namespace IZ.Model.VM
{
public class GenerisaniIzvjestajiVM
{
public int IzvjestajiGenerisaniId { get; set; }
public int? IzvjestajDefinicijaId { get; set; }
public int? IzvjestajXsdshemaiId { get; set; }
public string KratkiNazivDefinicijeI { get; set; }
public string Naziv { get; set; }
public string Opis { get; set; }
public string Izvjestaj { get; set; }
public DateTime DatumOd { get; set; }
public DateTime DatumDo { get; set; }
public string ImportedExcel { get; set; }
public DateTime DatumKreiranja { get; set; }
public byte Status { get; set; }
public DateTime DatumUnosa { get; set; }
public DateTime? DatumAzuriranja { get; set; }
public string KorisnikUnosa { get; set; }
public string KorisnikAzurirao { get; set; }
public string NazivXmlfajla { get; set; }
}
}
И сейчас IzvjestajXSDShemaId
- это идентификатор дисплея в моем View
, и я хочу отобразить имя (схема в модели IzvjestajXSDShema) в представлении insted из ID