Я изучаю RavenDB для использования в системе (в основном в качестве постоянного кеша ключ-значение), и мне нужно знать, каковы ограничения фактических данных, которые могут быть сохранены.
В документации указано "Единственное требование состоит в том, чтобы свойство Id строки корневого объекта", однако все примеры и учебные пособия, которые я вижу, хранят только простые типы данных 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;
Спасибо за ваш отзыв, извините за надуманный пример, это был самый простой способ описать то, что я пытаюсь сделать, не углубляясь в кучу знаний/моделей предметной области.
Кайл