Anexar para o Update Entity Framework [duplicado]
Esta pergunta já tem uma resposta aqui:
Como posso editar ou adicionar a um campo específico sem puxar o objeto all 2 respostasEstou tentando fazer uma atualização para uma tabela usando o EF 5.x usando o anexo. essa tabela possui outros campos que são necessários, mas é uma linha existente. Então, eu estou tentando atualizar sem qualquer busca. userid é a chave primária da tabela. Estou tentando atualizar o status. mas lança um EntityValidationErrors dizendo que a senha é necessária, que é outro campo obrigatório, mas não a chave primária. como se trata de uma atualização da linha existente, por que você precisa fornecer os campos solicitados para a atualização?
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);
}
}
}
}