Tengo un código MVC que serializa un objeto EF 3.5 en un tipo anónimo para devolver como resultado JSON a una llamada AJAX en mi página. El obstáculo que tengo es que cuando envío el objeto al servidor a través de JSON, (y deje que el ModelBinder lo deserialice en mi tipo de EF), tengo que actualizarlo en el contexto de Entity Framework manualmente. O al menos eso es lo que estoy haciendo ahora. No tiene EntityKey, por lo que adjuntarlo falla. Termino teniendo que buscar el objeto viejo y actualizarlo propiedad por propiedad. Alguna idea sobre esto? ¿La solución es pasar la EntityKey con mi objeto?La mejor manera de transferir un objeto Entity Framework a través de la web y de vuelta a través de JSON
Esto es lo que tengo:
public void Update(Album album)
{
using (var db = new BandSitesMasterEntities())
{
var albumToUpdate = db.Album.First(x => x.ID == album.ID);
albumToUpdate.AlbumTitle = album.AlbumTitle;
albumToUpdate.Description = album.Description;
albumToUpdate.ReleaseYear = album.ReleaseYear;
albumToUpdate.ImageURL = album.ImageURL;
albumToUpdate.OtherURL = album.OtherURL;
db.SaveChanges();
}
}
Y esto es lo que me gustaría hacer, o algo similar:
public void Update(Album album)
{
using (var db = new BandSitesMasterEntities())
{
db.Attach(album)
db.SaveChanges();
}
}
está usando EF 4? – ashraf
¿por qué no utiliza los servicios de datos? – Nix
@ashraf, él dice que está usando EF 3.5 – StriplingWarrior