J'utilise actuellement le modèle référentiel dans un projet ASP.Net MVC et ont le code suivant:Erreur: « Un objet entité ne peut pas être référencé par plusieurs instances de IEntityChangeTracker »
partial class Timesheet : ITimesheet
{
TimeSystemDBEntities _db;
public Timesheet()
{
_db = new TimeSystemDBEntities();
}
.
.
//More Methods
.
.
//Save WorkWeek to database
private void SaveWorkWeek(WorkWeek wk)
{
//Creating a new test context in attempt to resolve
//Error: “An entity object cannot be referenced by multiple instances of IEntityChangeTracker"
var testContext = new TimeSystemDBEntities();
var newWorkWeek = new WorkWeek();
var newStudent = new Student();
//Copy contents of wk to newWorkWeek
newWorkWeek.Students = newStudent.GetStudent(wk.Students.id);
newWorkWeek.MonDate = wk.MonDate;
newWorkWeek.MonHours = wk.MonHours;
newWorkWeek.TuesDate = wk.TuesDate;
newWorkWeek.TuesHours = wk.TuesHours;
newWorkWeek.WedDate = wk.WedDate;
newWorkWeek.WedHours = wk.WedHours;
newWorkWeek.ThursDate = wk.ThursDate;
newWorkWeek.ThursHours = wk.ThursHours;
newWorkWeek.FriDate = wk.FriDate;
newWorkWeek.FriHours = wk.FriHours;
newWorkWeek.TempSave = wk.TempSave;
testContext.AddToWorkWeek(newWorkWeek); //Exception thrown here
testContext.SaveChanges();
//Also tried
//_db.AddToWorkWeek(newWorkWeek); //Exception thrown here
//_db.SaveChanges();
//Also tried
//_db.detach(wk): //Different exception thrown here: Says it's not in ObjectStateManager
//_db.AddToWorkWeek(newWorkWeek);
//_db.SaveChanges();
//Also tried
//_db.detach(wk.Students): //Different exception thrown here: Says it's not in ObjectStateManager
//_db.AddToWorkWeek(newWorkWeek);
//_db.SaveChanges();
}
}
L'étudiant et WorkWeek Les classes sont dans une relation 1-à-plusieurs, respectivement.J'ai tout essayé depuis le détachement jusqu'à la création d'un contexte complètement nouveau comme dans l'exemple de code ci-dessus et je n'arrive pas à sauvegarder l'objet. le ObjectStateManager, que j'interprète comme il n'y a rien à détacher, qui, s'il est vrai, semble contredire l'erreur d'origine Je ne suis pas sûr de ce qui se passe, toute aide est appréciée
Dupliquer: http://stackoverflow.com/questions/620084/how-to-get-rid-off-an-entity-object-cannot-be-referenced-by-multiple-instances-o et http://stackoverflow.com/questions/694625/ado-net-entity-framework-an-entity-object-cannot-be-referenced-by-multiple-instan –