Question

Je fais des recherches sur RavenDB pour une utilisation dans un système (la plupart du temps comme un cache-valeur persistante clé) et le besoin de savoir quelles sont les limites des données réelles qui peuvent être stockés.

Les états de documentation de « La seule exigence est qu'une chaîne de l'entité racine Id propriété » mais tous les échantillons et des tutoriels que je vois stocker seulement chaîne simple, int, décimal, types de données booléens.

Est-il possible de stocker cet objet?

public class StorableObject {
   public string Id {get;set;}
   public object ValueObject {get;set;}
}

En utilisant ce code (sudo)?

// I just copy and pasted this from a random blog post -- an example to show a complex object with a lot of hierarchy, methods, properties, etc.
string boundary = Guid.NewGuid().ToString();
HttpWebRequest request = HttpWebRequest.Create("http://twitpic.com/api/uploadAndPost")
    as HttpWebRequest;
request.Method = "POST";
request.ContentType = string.Format("multipart/form-data; boundary={0}", boundary);
request.PreAuthenticate = true;

var objectToStore = new StorableObject { ValueObject = request }; 
session.Store(objectToStore);
session.SaveChanges();

Et le récupérerez comme ceci:

var storedObject = session.Load<StorableObject>("objects/123456789");
var request = (HttpWebRequest) storedObject.ValueObject;

Merci pour vos commentaires, s'il vous plaît excuser mon exemple artificiel, il était la meilleure façon que je pourrais décrire ce que je suis en train de faire sans entrer dans un tas de connaissances de domaine / modèles.

Kyle

Autres conseils

RavenDB peut être utilisé comme un magasin clé / valeur.

Mais sa valeur est de savoir ce que le type que vous avez enregistré à dos de traction. « Objet » est pas utile, mais toujours possible.

Notez également que si la valeur est énorme - comme en méga-octets, il est préférable d'utiliser l'API Pièces jointes: http://ravendb.net/docs/2.5/client-api/attachments

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top