Attach für Update Entity Framework [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Wie kann ich ein bestimmtes Feld bearbeiten oder hinzufügen, ohne das gesamte Objekt zu ziehen? 2 Antworten

Ich versuche, mit EF 5.x und attach ein Update für eine Tabelle durchzuführen. Diese Tabelle enthält andere Felder, die erforderlich sind, aber eine vorhandene Zeile. Ich versuche also, ohne Abruf zu aktualisieren. Benutzer-ID ist der Primärschlüssel für die Tabelle. Ich versuche, den Status zu aktualisieren. Es wird jedoch ein EntityValidationErrors ausgegeben, das besagt, dass ein Kennwort erforderlich ist. Dies ist ein weiteres erforderliches Feld, jedoch kein Primärschlüssel. Da dies eine Aktualisierung der vorhandenen Zeile ist, warum müssen Sie die erforderlichen Felder für die Aktualisierung bereitstellen?

    var webUser = new WebUser() { UserId = webUserId, OnlineStatus = (sbyte)status };
    using (var dbxupdate = new xEntities())
    {
        try
        {
            dbxupdate.WebUsers.Attach(webUser);
dbxupdate.Entry(webUser).State = EntityState.Modified;
            dbxupdate.Entry(webUser).Property(x => x.OnlineStatus).IsModified = true;
            dbxupdate.SaveChanges();
        }
        catch (DbEntityValidationException dbEx)
        {
            foreach (var validationErrors in dbEx.EntityValidationErrors)
            {
                foreach (var validationError in validationErrors.ValidationErrors)
                {
                    Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
                }
            }
        }
    }

Antworten auf die Frage(4)

Ihre Antwort auf die Frage