Ich habe eine Demo-Klasse "User" wie folgt aus:Entity Framework, wie nur zur Validierung angeben Eigenschaft
public partial class User {
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int ID { get; set; }
[StringLength(30)]
[Required]
public string LoginName { get; set; }
[StringLength(120)]
[Required]
[DataType(DataType.Password)]
public string Pwd { get; set; }
[StringLength(50)]
public string Phone { get; set; }
[StringLength(100)]
public string WebSite { get; set; }
... ... }
Wie Sie sehen können, " LoginName "und" Pwd "sind" Erforderlich ".
einiger Zeit, ich möchte nur Benutzers "Website" aktualisieren, so dass ich wie folgt aus:
public void UpdateUser(User user , params string[] properties) {
this.rep.DB.Users.Attach(user);
this.rep.DB.Configuration.ValidateOnSaveEnabled = false;
var entry = this.rep.DB.Entry(user);
foreach(var prop in properties) {
var entProp = entry.Property(prop);
//var vas = entProp.GetValidationErrors();
entProp.IsModified = true;
}
this.rep.DB.SaveChanges();
this.rep.DB.Configuration.ValidateOnSaveEnabled = true;
}
Parameter "user" wie folgt aus: neuen Benutzer() { ID = 1, WebSite = „http://www.stackoverflow.com“ }
Hinweis, ich nicht angeben „Loginname“ und „Pwd“
Diese Funktion kann gut funktionieren, aber ich würde nicht gesetzt ValidateOnSaveEnabled zu f als auch.
Gibt es eine Möglichkeit, nur "WebSite" zu validieren, wenn ValidateOnSaveEnabled true ist? Danke.