Я изучаю RavenDB для использования в системе (в основном, в качестве постоянного кэша значения ключа) и мне нужно знать, каковы ограничения реальных данных, которые могут быть сохранены.
Документация гласит «Единственное требование - это свойство идентификатора строки корневого объекта», однако все примеры и учебники, которые я вижу, хранят только простые типы данных типа string, int, decimal, bool.
Можно ли сохранить этот объект?
public class StorableObject {
public string Id {get;set;}
public object ValueObject {get;set;}
}
Используя этот код (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();
И вытащи его обратно вот так:
var storedObject = session.Load<StorableObject>("objects/123456789");
var request = (HttpWebRequest) storedObject.ValueObject;
Спасибо за ваш отзыв, извините за мой надуманный пример, это был самый простой способ описать то, что я пытаюсь сделать, не углубляясь в кучу знаний / моделей предметной области.
Кайл