Я недавно играл с RavenDB, и есть кое-что, что меня немного раздражает.
У меня есть объект-сущность с рядом объектов-значений, например,
class Foo
{
IList<Bar> Bars { get; set; }
}
Иногда я хочу передать объект типа Bar в метод / класс, нов какой-то момент хочу сослаться обратно на родительский объект.В мире NHibernate это действительно легко, если я настрою его с отношением 1 .. *, например,
class Bar
{
Foo Foo { get; set; }
}
Однако RavenDb на самом деле не нравится то, что приводит к тому, что мне приходится создавать такие методы, как:
void DoSomething(Foo foo, Bar bar)
{
Console.WriteLine(foo);
Console.WriteLine(bar);
}
вместо
void DoSomething(Bar bar)
{
Console.WriteLine(bar.Foo);
Console.WriteLine(bar);
}
Есть ли способ достичь этого с RavenDb?
Я понимаю, что RavenDb (и базы данных документов в целом) продвигают другой способ размышления о работе с сущностями, если это только тот случай, когда я слишком долго трачу в реляционном / нормализованном мире, может кто-нибудь объяснить, какЯ должен структурировать свой код в более дБ документа?