关系不能定义,因为它们附加到不同的ObjectContext对象

本文关键字:对象 ObjectContext 定义 不能 因为 关系 | 更新日期: 2023-09-27 17:49:43

我不知道我错过了什么,因为无论页面如何调用,相同的page_load都是执行的,但是当我退出页面而不保存任何东西,然后回到页面时,似乎我的上下文对象无法像在退出页面之前保存更改时那样检索使用的值,导致我在尝试从那里保存时出现这种例外:

无法设置两个对象之间的关系,因为它们附加到不同的ObjectContext对象。

这是我在页面加载中的内容:

public partial class FraisDeplacement : System.Web.UI.UserControl
{
    BLL.SessionContext context;
    DAL.DBObjects.VersionDemande versionDemande;

    protected void Page_Load(object sender, EventArgs e)
    {
        this.context = (BLL.SessionContext)Session["sessionContext"];
        this.Page.LoadComplete += new EventHandler(Page_LoadComplete);
        versionDemande = (DAL.DBObjects.VersionDemande)Session["versionDemande"];
    }
}

关系不能定义,因为它们附加到不同的ObjectContext对象

我也有这个问题,你可能需要这两个函数之一:

context.DBAccess.Attach(versionDemande);

或者这个

versionDemande = this.context.DBAccess.ApplyCurrentValues<DAL.DBObjects.VersionDemande>("VersionDemande", versionDemande);

根据您在页面上创建/检索对象的方式,我建议您首先将这些放入try catch中,这将帮助您了解如果它们失败会发生什么。