我有一些MVC代码将EF 3.5对象序列化为匿名类型,以便作为JSON结果返回到我页面上的AJAX调用.我遇到的障碍是当我通过JSON将对象发送回服务器时(并让ModelBinder将它反序列化为我的EF类型),我必须手动在我的Entity Framework上下文中更新它.或者至少那就是我现在正在做的事情.它没有EntityKey,因此附加它失败.我最终必须查找旧对象并按属性更新它的属性.围绕这个想法吗?是用我的对象传递EntityKey的解决方案吗?
这就是我所拥有的:
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();
}
}
Run Code Online (Sandbox Code Playgroud)
这就是我想做的事情,或类似的事情:
public void Update(Album album)
{
using (var db = new BandSitesMasterEntities())
{
db.Attach(album)
db.SaveChanges();
}
}
Run Code Online (Sandbox Code Playgroud)