我有一些MVC代码将EF 3.5对象序列化为匿名类型,作为JSON结果返回给我的页面上的AJAX调用。我遇到的障碍是,当我通过JSON将对象发送回服务器(并且让ModelBinder将其反序列化为我的EF类型)时,我必须在我的实体框架上下文中手动更新它,手动。或者至少这就是我现在正在做的。它没有EntityKey,因此连接失败。我最终不得不查找旧对象并按属性更新它的属性。任何想法呢?解决方案是使用我的对象传递EntityKey吗?通过JSON传输实体框架对象的最佳方式
这是我有:
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();
}
}
这里就是我想要做的,或类似的东西是什么:
public void Update(Album album)
{
using (var db = new BandSitesMasterEntities())
{
db.Attach(album)
db.SaveChanges();
}
}
您使用EF 4从更新的功能调用它呢? – ashraf 2010-01-30 00:50:18
你为什么不使用数据服务? – Nix 2010-04-02 20:55:55
@ashraf,他说他使用EF 3.5 – StriplingWarrior 2010-07-07 20:23:08