Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在MVC4中检索主表和明细表的最合适方法_C#_Asp.net_Entity Framework_Asp.net Mvc 4_View - Fatal编程技术网

C# 在MVC4中检索主表和明细表的最合适方法

C# 在MVC4中检索主表和明细表的最合适方法,c#,asp.net,entity-framework,asp.net-mvc-4,view,C#,Asp.net,Entity Framework,Asp.net Mvc 4,View,为了填充下拉列表,在GridView上显示详细信息而不是id(显示城市名称而不是Birt城市id),等等,有时我们需要同时从主表(例如学生表)和详细信息表(例如城市表)中检索数据。你能告诉我以下哪种情况最合适吗?除此之外,如果您建议使用实体框架的其他方法,我将不胜感激 1) 我从实体表中检索数据,并使用主表和明细表之间的关系。但在这种情况下,我需要在DbContext上定义这些关系,并且必须通过方法填充dropdownlists。但对于显示数据,我需要定义另一种方法或其他方法。出于这个原因,实际

为了填充下拉列表,在GridView上显示详细信息而不是id(显示城市名称而不是Birt城市id),等等,有时我们需要同时从主表(例如学生表)和详细信息表(例如城市表)中检索数据。你能告诉我以下哪种情况最合适吗?除此之外,如果您建议使用实体框架的其他方法,我将不胜感激

1) 我从实体表中检索数据,并使用主表和明细表之间的关系。但在这种情况下,我需要在DbContext上定义这些关系,并且必须通过方法填充dropdownlists。但对于显示数据,我需要定义另一种方法或其他方法。出于这个原因,实际上我不喜欢这种方法。你觉得这个怎么样

2) 与此相反,我可以像以前一样使用ModelView。但是,我认为多次返回多张桌子而不是一张桌子不是一个好主意。除此之外,我想我还需要一个额外的dropdownlist定义,例如在htl助手中。我觉得也不方便

3) 由于它是常用的,我认为从实体视图(数据库视图)而不是实体表中获取数据似乎非常有用。有了这种方法的帮助,我可以从两个表中检索数据,并且我可以轻松地在下拉列表和网格上显示这些数据,而无需额外的努力。你觉得怎么样

a) 另一方面,如果使用视图实体而不是表实体,如何将该实体保存到数据库中(通常返回表实体以进行创建/编辑)

b) 如果这个方法很好,那么在这种情况下,我认为除了表之外,还需要为相关数据库视图提供额外的实体定义。例如,我现在有学生、城市实体。但是对于数据库视图,我需要另一个第三实体。你能给我一个这种方法的使用示例吗?
BR.

很抱歉,我对您要实现的目标有点困惑。您只是填充下拉列表,还是主/详细网格视图?我不是说只填充下拉列表。我还想在网格上显示数据。在执行此操作时,我希望澄清如何从数据库视图而不是一个表中检索数据,以便除了值成员之外,我还可以使用显示成员。