什么是SQL UPDATE的实体框架等价物?

Cha*_*les 2 c# entity-framework

我浏览了整个互联网,仍然无法找到解决方案.

我尝试了附加方法:

    public static void updatePhoto(string name, string albumName, string newName, string newPath)
    {
        //updates photo... no delete and adding...
        var photo = new Image(){Label=newName, Path = newPath};
        using (var db = new EzPrintsEntities())
        {
            db.Images.Attach(photo);
            db.SaveChanges();
        }

    }
Run Code Online (Sandbox Code Playgroud)

但那根本没有做任何事情.

那么问题是如何在下面的代码中通过EF实现对sql数据库的UPDATE?

    public static void updatePhoto(string name, string albumName, string newName, string newPath)
    {
         EzPrintsEntities db = new EzPrintsEntities();

    }
Run Code Online (Sandbox Code Playgroud)

Ree*_*sey 5

如果您要更新现有照片,则需要加载它并更改现有值:

public static void updatePhoto(string name, string albumName, string newName, string newPath)
{
    using (var db = new EzPrintsEntities())
    {
        // Load photo
        var photo = db.Images.FirstOrDefault(i => i.Label == name && i.Album == albumName);
        if (photo == null)
        {
           // no matching photo - do something
        }

        // Update data
        photo.Label = newName;
        photo.Path = newPath; 

        db.SaveChanges();
    }

}
Run Code Online (Sandbox Code Playgroud)