Asp.net mvc 单视图-页面-显示一组标准化表中的数据

Asp.net mvc 单视图-页面-显示一组标准化表中的数据,asp.net-mvc,entity-framework,Asp.net Mvc,Entity Framework,我希望的是一个基本问题 我正在设计一个带有实体框架和代码的MVC项目,其中有许多规范化的表,稍后将组成一个组合视图 例如,假设我有一个名为JOBS的表。此表包含客户表、状态表、作业类型表的外键 如果我想要一个视图(一个页面)来显示客户的作业、其状态和作业类型,我该如何管理这个结果 换句话说,如果我想要一个显示作业、客户和作业地址的页面(来源于地址表-本身通过客户表中的外键链接),我如何对此进行查看 此外,在关注CRUD的情况下,如果我想要一个更新页面,如何显示一个包含文本框的页面,以将不同表中的

我希望的是一个基本问题

我正在设计一个带有实体框架和代码的MVC项目,其中有许多规范化的表,稍后将组成一个组合视图

例如,假设我有一个名为JOBS的表。此表包含客户表、状态表、作业类型表的外键

如果我想要一个视图(一个页面)来显示客户的作业、其状态和作业类型,我该如何管理这个结果

换句话说,如果我想要一个显示作业、客户和作业地址的页面(来源于地址表-本身通过客户表中的外键链接),我如何对此进行查看

此外,在关注CRUD的情况下,如果我想要一个更新页面,如何显示一个包含文本框的页面,以将不同表中的作业地址或状态等内容更新到实际的作业表中。。。。按下页面上的“更新”按钮,每个表格都会自动更新

期待任何帮助,以消除混乱

问候
西蒙

正如问题一样,这个答案也是假设性的。您可以做的是查看页面设计并从多个表中找出要显示的列/属性,然后为此页面创建一个
ViewModel
,然后您可以编写一个将结果作为
ViewModel
显示

另一个选项是所有链接表和呈现相关实体,但这种方法必须确保在呈现整个视图之前不会释放EF上下文

ViewModel
Projection
方法也适用于更新,您的更新操作将在视图模型中执行,并转换回EF实体进行更新


对于从ViewModel到EF模型实体的转换,或者从EF模型实体到ViewModel实体的转换,您可以使用

请共享一个查询或一些代码,以及您创建或拥有的任何内容。是的,这是一个假设性问题,因为我仍在尝试将所有想法汇集到一起,以获得最佳实践。。。多阅读,等等。看来viewmodels是一个不错的选择。我能问个问题吗。。。aIt关闭了编辑。。。。这是整个问题。。。是的,这是一个假设性的问题,因为我仍在尝试将所有的想法汇集在一起,以获得最佳实践。。。多阅读,等等。看来viewmodels是一个不错的选择。我能问个问题吗。。。我相信viewmodel会进入viewmodels文件夹。。。您将LINQ projecton查询放置在何处。。在控制器中。。在返回视图之前?是的,viewmodels进入models文件夹。linq查询取决于您的体系结构,但是是的,在您的情况下,它们很可能会进入控制器。但是,如果您有一个服务/存储库体系结构,那么它们在服务/存储库中也很受欢迎。。慢慢地建立一种理解。