cuando ejecuto una consulta en EF, el DbContext en ella almacena automáticamente en caché los datos que recupera de la base de datos mediante la consulta. En algunos casos, es útil, pero necesito acceder a la base de datos y ver qué datos cambian fuera del contexto. Así que investigué un poco y vi que necesitaba actualizar mi dbcontext. Lo probé pero da el siguiente error. ¿Cómo arreglar este error?
El intento de actualización falló porque la fuente de datos devolvió una entidad inesperada.
using (var ctx = new MyDbContext()){ .. var objContext = ((IObjectContextAdapter)ctx).ObjectContext; var refreshEntities = ctx.ChangeTracker.Entries().Select(x => x.Entity).ToList(); objContext.Refresh(RefreshMode.StoreWins, refreshEntities); .. }Contexto;
public MyDbContext() : base(OraConnection(), true) { } public DbSet<Books> Book{ get; set; } public DbSet<Libraries> Library{ get; set; }Me encontré con el mismo problema hoy. Había un carácter de espacio en blanco final en uno de los campos de mi conjunto de datos. Ese campo también pasó a ser parte de la clave EF. El espacio final fue inesperado, así que lo eliminé de mi conjunto de datos y el error desapareció.
Espero que tu problema sea igual de sencillo.