我有一些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