Я создал метод, который возвращает IQueryable A
У меня есть список выбора (который я ограничил моделью класса A, я не хочу использовать модель представления здесь) и который необходимо запроситьдругая таблица B, чтобы получить этикетку. Я хочу создать список списков выбора с каждым выбранным значением на основе значения, полученного из запроса.
Например, в моей таблице A у меня есть
Id |CodeB 1 |30 2 |40 3 |30
В таблице B у меня есть
Код |Этикетка 30 |Автомобиль 40 |Велосипед
Я хочу отобразить в представлении, когда я получаю значения для A,
Id |SelectList (с выбранным значением) 1 |Автомобиль 2 |Велосипед 3 |Автомобиль
Попытка создания нового списка выбора. Сообщение = значение не может быть пустым. \ R \ nИмя параметра: querySource
Модели
public class A
{
[Key]
public int Id{ get; set; }
[ForeignKey("B")]
public int CodeB {get;set;}
[NotMapped]
public SelectList SelectLabelB { get; set; }
}
public class B
{
[Key]
public int Code { get; set; }
public string Label {get;set;}
}
Контроллер
IQueryable<A> as = from a in _context.A
select new A
{
Id= a.Id,
CodeB=a.CodeB,
/*What to do here ? */
SelectLabelB = new
SelectList(_context.B.ToList()).Select(a=>a.Value == ld.CodeSourceAlimentation)
};
Вид (модель IEnumerable)
@model IEnumerable<MyProject.Models.A>
<table>
@foreach (var item in Model)
{
<thead>
<tr>
<th>
@Html.DisplayNameFor(model => model.Id)
</th>
<th>
@Html.DisplayNameFor(model => model.SelectLabelB)
</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model)
{
<tr>
<td>
<input type="number" value="@item.Id" disabled />
</td>
<td>
<select asp-for="labelB" class="form-control" asp-items="Model.??" ></select>
</td>