Я недавно играл с 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 (и базы данных документов в целом) продвигает другой подход к работе с сущностями, Если это всего лишь случай, когда я слишком долго провожу в реляционном / нормализованном мире, может ли кто-нибудь объяснить, как я должен структурировать свой код в более документальной форме? База данных