Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.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
Asp.net mvc 从ASP.NET MVC视图返回时如何保持对象上的相关实体_Asp.net Mvc_Entity Framework - Fatal编程技术网

Asp.net mvc 从ASP.NET MVC视图返回时如何保持对象上的相关实体

Asp.net mvc 从ASP.NET MVC视图返回时如何保持对象上的相关实体,asp.net-mvc,entity-framework,Asp.net Mvc,Entity Framework,我正在使用实体框架开发ASP.NET MVC RC2应用程序 这是我的实体图 在我的存储库中,我得到如下实体: public Product GetProduct(int id) { return (from c in _entities.ProductSet.Include("User") where c.Id == id select c).FirstOrDefault(); } 我的看法是: <%@ Page Title=""

我正在使用实体框架开发ASP.NET MVC RC2应用程序

这是我的实体图

在我的存储库中,我得到如下实体:

public Product GetProduct(int id)
{
    return (from c in _entities.ProductSet.Include("User")
           where c.Id == id
           select c).FirstOrDefault();
}
我的看法是:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<SampleApp.Models.Product>" %>

编辑产品

编辑产品
领域

身份证件:

标题:

正文:

问题和我的问题是:当“产品”实体从post视图返回时,链接实体“用户”为空。为什么会这样?有没有办法解决这个问题


因为productToEdit是从表单字段填充的新产品对象,如果没有用户字段,如何填充用户实体


对于“解决方法”,首先从数据库获取产品,使用productToEdit中编辑的字段编辑该产品,并保存到db,因为productToEdit是从表单字段填充的新产品对象,如果没有用户字段,您将如何填充用户实体


对于“解决方法”,首先从db获得产品,使用productToEdit和save to db中编辑的字段编辑此项。您还可以选择使用了解您的模型和持久性策略的自定义ModelBinder将图形完全加载回内存。

您还可以选择使用了解您的模型和持久性策略的自定义ModelBinder将图形完全加载回内存回到记忆中。

我认为这是来自视图的对象“是新的”的情况。我不需要在我的场景中更改用户。用户仅与跟踪谁创建了产品有关。谢谢你提供的这些信息,我会解决的。我以为这就是来自视图的对象“是新的”的情况。我不需要在我的场景中更改用户。用户仅与跟踪谁创建了产品有关。谢谢你提供的这些信息,我会努力解决的。谢谢,这听起来很有希望,我会调查的。通过在服务的编辑功能中附加原始对象,我解决了上述问题。通过这种方式,它通过了与我创建产品时相同的验证。(产品必须有用户)谢谢这听起来很有希望,我会调查一下。通过在服务的编辑功能中附加原始对象,我解决了上述问题。通过这种方式,它通过了与我创建产品时相同的验证。(产品必须有用户)
<h2>Edit product</h2>

<%= Html.ValidationSummary("Edit was unsuccessful. Please correct the errors and try again.") %>

<% using (Html.BeginForm()) {%>

    <fieldset>
        <legend>Fields</legend>
        <p>
            <label for="Id">Id:</label>
            <%=  Model.Id %>
        </p>
        <p>
            <label for="Title">Title:</label>
            <%= Html.TextBox("Title", Model.Title) %>
            <%= Html.ValidationMessage("Title", "*") %>
        </p>
        <p>
            <label for="Body">Body:</label>
            <%= Html.TextBox("Body", Model.Body) %>
            <%= Html.ValidationMessage("Body", "*") %>
        </p>
        <p>
            <input type="submit" value="Save" />
        </p>
    </fieldset>

<% } %>

<div>
    <%=Html.ActionLink("Back to List", "Index") %>
</div>