ahmed_sa Ответов: 1

Как использовать повторное получение данных из таблицы из одного места с помощью общей функции take table name или любого другого решения


как использовать повторное получение данных из таблицы из одного места с помощью общей функции take table name.

Проблема:
я использую повторное заявление, чтобы получить сведения
вообще то мне нужно позвонить ему из одного места если это возможно
но я не могу этого сделать.

так что я не буду ходить каждый контроллер и повторять получать данные из справочного файла
мне нужно одно общее место, чтобы назвать его функцией или любой другой концепцией
как это сделать, если это возможно.

Что я уже пробовал:

о действии контроллера e employeecontroller
var result = await _context.ReferenceFiles.Where(r => r.TableName == "Employees").ToListAsync();
ViewBag.RefList = result;

на контроллере actione Itemcontroller
var result = await _context.ReferenceFiles.Where(r => r.TableName == "Items").ToListAsync();
ViewBag.RefList = result;

для обозрения
@foreach (var itemes in ViewBag.RefList)
{
  <thead>
    @itemes.FieldName
  </thead>
}

1 Ответов

Рейтинг:
1

MadMyche

Есть несколько способов сделать это. Лучше всего было бы посмотреть на все варианты и посмотреть, что работает лучше всего, вот только пара.

1. После извлечения из различных подразделений, карте их на объект DataTable (ДТ). Это позволит вам установить имена столбцов на основе свойств вашей сущности. Вернуться, что ДТ как Модель и вы можете перебирать имена заголовков, а затем значения строк.

2. Используйте объект "обертка". Класс, стоящий за этим, будет иметь несколько свойств различных сущностей, которые вы можете использовать. В представлении вы бы использовали логику if...then, чтобы увидеть, какое из свойств model.properties не является нулевым и отображается соответствующим образом.

3. Вы можете использовать для этого объекты Dynamic или Expando; вам нужно будет провести некоторое исследование этих объектов, чтобы увидеть, можно ли их использовать.


Упрощение вашей общей проблемы кода будет зависеть от того, как вы объединяете разрозненные сущности, которые вы возвращаете.
В действительности вы вероятно могли бы преобразовать это в вызов AJAX после того как представление будет визуализировано и передать имя объекта который вы хотите в JsonController