gpt4 book ai didi

asp.net-mvc - 新手 - 将父 View 和 subview 合并到一个页面中

转载 作者:行者123 更新时间:2023-12-01 20:25:43 24 4
gpt4 key购买 nike

我正在尝试学习 mvc - 对于所有愚蠢的问题,我提前表示歉意。我所做的是基于现有数据库创建一个 mvc 项目,然后我一直在剖析它以尝试了解为我创建的内容以及如何创建我自己的东西。不幸的是,因为我是一个新的 stackoverflow 用户,所以我无法发布我的项目结构的图片。
我有一个父 Controller 和一个子 Controller ,使用向导根据我的模型中的两个单独的表创建。我想在一个 View 中显示它们 - 最终在网络网格中显示,并且能够更改任何父项或子项的数据。您现在可以忽略CombinedController。我一直在阅读一些内容,并且了解到我应该创建一个在模型级别结合父级和子级的 View 模型,然后从那里开始。

所以我创建了这个类:

Imports System.Data.Objects.DataClasses
Public Class ParentAndChild

Public Property myChildren As IEnumerable(Of Child)
Public Property myParent as Parent

End Class

我有几个问题:

问题1
我是否必须将此 ParentAndChild 实体添加到 .edmx 文件中才能为其创建 Controller 和 View ?我想我真正要问的是我是否必须首先在 sql 数据库中创建一个 View ,让实体显示在 .edmx 中,然后创建一个 Controller ?或者我可以将这两个实体合并在一个类中吗?这就是我到目前为止所做的。我的数据库中没有结合这两个表的 sql View 。我之所以问这个问题,是因为当我创建 Controller 时,如果我想免费获得所有 CRUD,我必须使用 Entity Framework 进行创建。但我不知道为数据上下文指定什么。

问题2
如果我想要一个网络网格以某种方式显示我所有的 parent 和他们所有的 child ,新的 ParentAndChild 类可以工作吗?我认为这只会显示一位 parent 及其 child 的详细信息。我想我需要创建一个 parent 列表......然后在每个 parent 的 parent 列表中添加模块集合。但我不知道该怎么做..

问题3
当我使用新类时, Entity Framework 如何知道要返回哪些模块?我没有在任何地方定义关系...是因为在 .edmx 文件中,系统知道表之间的关系吗?

最佳答案

如果您只需要访问父实体及其子实体的信息,您应该能够将 View 发送到父实体。如果 Entity Framework 知道两个实体之间的关系,则 ViewModel 并不是绝对必要的。如果这两个表之间的关系存在于数据库级别,那么 Entity Framework 应该自动对其进行建模。

Controller 的一个例子是:

public ActionResult Parent(int id)
{
var parent = context.Foo.Single(x => x.Id == id);
return View(parent);
}

如果您需要创建所有子实体的表,您可以执行以下操作:

@foreach(var item in Model.Children)
{
<td>@item.Property</td>
<td>@item.Property2</td>
}

关于asp.net-mvc - 新手 - 将父 View 和 subview 合并到一个页面中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8361288/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com