Estoy trabajando en un sistema usando Entityframework y he pasado más de 12 meses, y el proyecto ha ido bien, hasta ayer, donde ahora recibí un extraño error que no tengo ni idea de por qué ocurre estoy haciendo nada diferente a lo que he hecho antes, pero una vez me carga la entidad en cuestión y tratar de acceder a cualquier entidad niño me sale el siguiente error:EntityFramework - Error de proxy de la entidad
The entity wrapper stored in the proxy does not reference the same proxy
¿Alguien puede arrojar alguna luz sobre lo que en realidad esto significa y qué podría causar esto?
Mostrar mi código realmente no ayuda.
Aquí es una versión simplificada del código:
var quote = new QuoteHelper().GetById(orderId);
var updatedQuotes = new Provider().GetExportQuotes(quote.DeparturePoint.Id,quote.DestinationPoint);
El error se produce cuando se accede correctamente DeparturePoint y DestinationPoint pero cargas cita, y todas las propiedades están cargados.
La entidad Cita se ve un poco como esto:
public class Quote : BaseQuote, ICloneable
{
public Guid DeparturePointId { get; set; }
public virtual LocationPoint DeparturePoint{ get; set; }
public Guid DestinationPointId { get; set; }
public virtual LocationPoint DestinationPoint{ get; set; }
}
Gracias, tuve un método de clonación horrible y me pareció que parecía que la magia que necesitaba parece que no lo es. Gracias. – JamesStuddart
MemberwiseClone a menudo es la magia que necesitas, pero EF hace algunas cosas únicas. Por cierto, si encuentra que esta solución no es suficiente, también he oído de personas que usan [AutoMapper] (http://automapper.org/) para un mecanismo de clonación barato. No fue pensado para esto, pero eso no significa que no sea una solución perfectamente buena. –
Gracias, he solucionado un problema por el problema, pero cuando tenga tiempo para volver a implementarlo, implementaré una de las soluciones que usted ha dado.Gracias por su visión, parece que no hay mucho por ahí sobre este tema y espero que esto ayude a otras personas también. – JamesStuddart