C# 从非直接链接数据库表生成下拉列表
我在数据库中得到了3个表:FOOD、FOODTYPE和FOODUNIT。FOOD与具有外键FoodTypeID的FOODTYPE链接,而FOODTYPE又与具有外键FoodTypeID的FOODUNIT链接。 目前,我得到了显示所有食物数据的强类型视图(食物)。我有一个FOODTYPE表的下拉列表,如下所示:C# 从非直接链接数据库表生成下拉列表,c#,.net,linq,asp.net-mvc-3,C#,.net,Linq,Asp.net Mvc 3,我在数据库中得到了3个表:FOOD、FOODTYPE和FOODUNIT。FOOD与具有外键FoodTypeID的FOODTYPE链接,而FOODTYPE又与具有外键FoodTypeID的FOODUNIT链接。 目前,我得到了显示所有食物数据的强类型视图(食物)。我有一个FOODTYPE表的下拉列表,如下所示: @model IEnumerable<HFMS1.Models.FOOD> <td id="type@(item.FoodID)" class="dropdown">
@model IEnumerable<HFMS1.Models.FOOD>
<td id="type@(item.FoodID)" class="dropdown">
@Html.DisplayFor(modelItem => item.FOODTYPE.FoodTypeName)
</td>
@model IEnumerable
@DisplayFor(modelItem=>item.FOODTYPE.FoodTypeName)
我需要为FOODUNIT生成另一个下拉列表,但由于此表与FOOD表没有直接链接,我不知道如何调用它,是否需要从控制器传递ViewBag?
真的不知道。希望能在这里得到一些帮助。非常感谢。您需要创建一个包装器,用作包含食物和食物的模型(除非我误解了这个问题) 例如,创建一个类,如下面的:
public class FoodViewModel
{
public IEnumerable<FOOD> Foods { get; set; }
public IEnumerable<FOODUNIT> FoodUnits { get; set; }
}
公共类FoodViewModel
{
公共IEnumerable食物{get;set;}
公共IEnumerable FoodUnits{get;set;}
}
为什么不取消表名的大写?您好,它与下拉列表有什么关系?它与下拉列表没有关系。它通常与您的模型相关。表名大写只是一个群体决策,有副作用吗?