после моего предыдущего вопроса ( ядро asp.net создает / обновляет иностранный ключ ), я хочу отобразить название аптеки из моей модели Todo. На самом деле используется следующий код:
public class Todo
{
public Pharmacy Pharmacy { get; set; }
}
public class Pharmacy
{
[Key]
public int PharmacyID { get; set; }
public string Name { get; set; }
}
соединитель для моей коробки выбора в мою форму создания / редактирования:
public class PharmacynamePageModel : PageModel
{
[BindProperty]
public int SelectedPharmacy { get; set; }
public SelectList PharmacyNameSL { get; set; }
public void PopulatePharmacysDropDownList(ApplicationDbContext _context, object selectedPharmacy = null)
{
var query = (from p in _context.Pharmacy orderby p.Name select p).ToList();
PharmacyNameSL = new SelectList(query, "PharmacyID", "Name", selectedPharmacy);
}
}
и в мой список (index.cshtml):
@foreach (var item in Model.Todo)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.OwnerID)
</td>
<td>
@Html.DisplayFor(modelItem => item.Pharmacy.Name)
</td>
}
Я безуспешно пробовал следующий вариант:
- item.Pharmacy
- item.Pharmacy.PharmacyID (но я хочу напечатать имя)
Я управлял с помощью SQLServer Management Studio, и моя колонка «PharmacyID» содержит значение после создания или редактирования данных.
Надеюсь, вы можете мне помочь;)
Спасибо за аванс!