2010-06-25 27 views
14

Si añadir, borrar o cambiar el nombre de una propiedad de una entidad PERSISTED, ¿cuál es la forma más fácil de actualizar los documentos en RavenDB?documentos de actualización en RavenDB

+1

vistazo a la documentación aquí, está bien descrito: http://ravendb.net/docs/client-api/partial-document-updates – Dofs

Respuesta

16

RavenDB admite comandos de revisión, consulte the docs para obtener más información para obtener más información. De esta forma, puede actualizar un documento directamente sin tener que extraerlo del servidor, actualizarlo y luego devolverlo.

también se puede ejecutar más de parches de múltiples documentos mediante consultas basadas en conjuntos, consulte here de algo más de información. Esto le permite hacer el equivalente a

UPDATE Users 
SET IsActive = false 
WHERE LastLogin < '2010-05-10' 
18

cuervo también tiene seguimiento de objetos. por lo que las siguientes obras:

var doc = _session.Load<MyDocType>(docId); 
doc.PropertyToChange = "New Value"; 
_session.SaveChanges(); 
+0

decir, 'MyDocType' contiene menos campos que hay en el documento, ¿eliminará esto todos los campos que no están en 'MyDocType'? – Caramiriel

+0

@Caramiriel Sí, porque RavenDB se "autocierra", cuando guarda el documento, solo se guardarán los campos de la clase y se borrarán los demás datos del documento. Este comportamiento puede modificarse configurando 'new DocumentStore(). Conventions.PreserveDocumentPropertiesNotFoundOnModel'. – adrian