Я использую EISK (Employee Info Starter Kit) для разработки приложения. Моя диаграмма сущностей выглядит следующим образом Я пытаюсь обновить таблицу приложения с помощью этого кода.
int apId = Convert.ToInt32(Request.QueryString["ApplicationID"]);
ApplicationBLL objGetApplication = new ApplicationBLL();
Appdec.YEP.BusinessEntities.Application objApplication =
objGetApplication.GetApplicationByApplicationID(apId);
objApplication.Status = (ddlStatus.SelectedValue == "0" ? false : true);
new ApplicationBLL(new Appdec.YEP.DataAccessLayer.DatabaseContext()).UpdateApplication(objApplication);
теперь метод обновления в бизнес-логике
[System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Update, true)]
public void UpdateApplication(Application updatedApplication)
{
// Validate Parameters
if (updatedApplication == null)
throw (new ArgumentNullException("updatedApplication"));
// Validate Primary key value
if (updatedApplication.ApplicationID.IsInvalidKey())
BusinessLayerHelper.ThrowErrorForInvalidDataKey("ApplicationID");
// Apply business rules
OnApplicationSaving(updatedApplication);
OnApplicationUpdating(updatedApplication);
//attaching and making ready for parsistance
if (updatedApplication.EntityState == EntityState.Detached)
_DatabaseContext.Applications.Attach(updatedApplication);
_DatabaseContext.ObjectStateManager.ChangeObjectState(updatedApplication, System.Data.EntityState.Modified);//this line throws the error
//ObjectStateManager does not contain an ObjectStateEntry with a reference to an object of type
int numberOfAffectedRows = _DatabaseContext.SaveChanges();
if (numberOfAffectedRows == 0)
throw new DataNotUpdatedException("No application updated!");
//Apply business workflow
OnApplicationUpdated(updatedApplication);
OnApplicationSaved(updatedApplication);
}
Может кто-нибудь сказать мне, как исправить эту ошибку и обновить таблицы.
та же ошибка возникает, когда я пытаюсь обновить другие таблицы. Вставка работает отлично.
Надеюсь не беспокоить вас. С наилучшими пожеланиями.