小编AVH*_*AVH的帖子

通过Web传输实体框架对象并通过JSON返回的最佳方法

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

model-view-controller asp.net-mvc json entity-framework

5
推荐指数
1
解决办法
896
查看次数