#c# #.net #linq #asp.net-mvc-3
#c# #.net #linq #asp.net-mvc-3
Вопрос:
У меня есть 3 таблицы в базе данных, FOOD, FOODTYPE и FOODUNIT. FOOD — это ссылка на FOODTYPE с внешним ключом FoodTypeID, в то время как FOODTYPE, в свою очередь, также связан с FOODUNIT с внешним ключом FoodTypeID. В настоящее время я получил свой строго типизированный вид (FOOD), в котором отображаются все данные о продуктах питания. Я получил выпадающий список для таблицы FOODTYPE следующим образом:
@model IEnumerable<HFMS1.Models.FOOD>
<td id="type@(item.FoodID)" class="dropdown">
@Html.DisplayFor(modelItem => item.FOODTYPE.FoodTypeName)
</td>
Мне нужно сгенерировать еще один выпадающий список для FOODUNIT, но поскольку эта таблица напрямую не связана с таблицей продуктов, я понятия не имею, как я ее назову, нужно ли мне передавать ViewBag из контроллера?
На самом деле понятия не имею об этом. надеюсь, здесь можно получить некоторую помощь. ценю это.
Комментарии:
1. Почему бы не убрать заглавные буквы из имен таблиц?
2. привет, как это связано с выпадающим списком?
3. Это не связано с выпадающим списком. Это связано с вашей моделью в целом.
4. имя таблицы с заглавной буквы — это просто групповое решение, какой-либо побочный эффект?
Ответ №1:
Вам нужно создать оболочку для использования в качестве вашей модели, которая содержит как FOOD, так и FOODUNIT (если я не неправильно понял вопрос).
Так, например, создайте класс, такой как приведенный ниже:
public class FoodViewModel
{
public IEnumerable<FOOD> Foods { get; set; }
public IEnumerable<FOODUNIT> FoodUnits { get; set; }
}