0

我创建了一个实体评估器,并且有一些方法可以选择值、显示数据等。现在我想保存显示数据后所做的更改,我有一个名为 SAVE 的按钮,它将用于保存更改。我无法获得如何保存该实体的更改?

实体名称是 Appraiser,我在 DAL、BL 中创建了 get AppriaserDetails 等方法,并在 aspx.cs 中使用它们。

这是我的代码:

 public void UpdateData(Appraiser appId)
    {

        var Appsave = context.Appraisers.FirstOrDefault(App => App.AppraiserId == appId.AppraiserId);
        Appsave.AppraiserName = appId.AppraiserName;
        Appsave.AppraiserPhones = appId.AppraiserPhones;
        Appsave.AppraiserAppraiserCompanyId = appId.AppraiserAppraiserCompanyId;
        Appsave.Address = appId.Address;
        Appsave.City = appId.City;
        Appsave.ProvinceState = appId.ProvinceState;
        Appsave.Email = appId.Email;
        context.SaveChanges();
    }
4

1 回答 1

1

如果你想插入新记录,那么可以使用

        MyContext.Appraisers.AddObject(appraiserEntityObject);
        MyContext.SaveChanges();

更新的情况下

        if (appraiserEntityObject.EntityState == EntityState.Detached)
        {
            // In case of web, we got an existing record back from the browser. That                object is not attached to the context yet.
            MyContext.Appraisers.Attach(appraiserEntityObject);
            MyContext.ObjectStateManager.ChangeObjectState(appraiserEntityObject,  EntityState.Modified);
        }
        MyContext.SaveChanges();

这里 MyContext 是你的 ObjectContext

于 2012-09-28T08:56:44.633 回答