Je suis très nouveau dans le cadre de l'entité, alors s'il vous plaît garder avec moi ...Comment associer des objets à partir de plusieurs contextes en utilisant Entity Framework
Comment puis-je relier deux objets de différents contextes ensemble?
L'exemple ci-dessous génère l'exception suivante:
System.InvalidOperationException: La relation entre les deux objets ne peuvent pas être définis parce qu'ils sont attachés à différents ObjectContext objets.
void MyFunction()
{
using (TCPSEntities model = new TCPSEntities())
{
EmployeeRoles er = model.EmployeeRoles.First(p=>p.EmployeeId == 123);
er.Roles = GetDefaultRole();
model.SaveChanges();
}
}
private static Roles GetDefaultRole()
{
Roles r = null;
using (TCPSEntities model = new TCPSEntities())
{
r = model.Roles.First(p => p.RoleId == 1);
}
return r;
}
L'utilisation d'un contexte n'est pas une option parce que nous utilisons l'EF dans une application ASP.NET.
Pourquoi avez-vous le nom de votre type de données contexte 'TCPSEntities', et pourquoi avez-vous le nom de votre objet de données contexte' model'? Et vous pourriez penser à ne pas utiliser 'new', mais soit en passant un contexte de données pré-construit ou une fabrique de contexte de données à la fonction. Vous pourriez également penser à utiliser 'Enumerable.SingleOrDefault' au lieu de' Enumerable.First'. – yfeldblum