Ostatnio grałem z RavenDB i jest coś, co mnie trochę irytuje.Odwołanie do obiektu wartości obiektu nadrzędnego w RavenDb
Mam obiekt encji z szeregiem obiektów wartości, np.
class Foo
{
IList<Bar> Bars { get; set; }
}
Istnieje wiele razy, kiedy chcę przekazać obiekt typu Bar do metody/klasy, ale w pewnym momencie chcą odwołać z powrotem do jednostki nadrzędnej. W świecie NHibernate jest to naprawdę łatwe, jeśli skonfiguruję je z relacją 1 .. *, np.
class Bar
{
Foo Foo { get; set; }
}
Jednak RavenDb naprawdę nie tak, co powoduje mi konieczności tworzenia metod takich jak:
void DoSomething(Foo foo, Bar bar)
{
Console.WriteLine(foo);
Console.WriteLine(bar);
}
zamiast
void DoSomething(Bar bar)
{
Console.WriteLine(bar.Foo);
Console.WriteLine(bar);
}
Czy istnieje jakiś sposób, aby to osiągnąć z RavenDb ?
Zdaję sobie sprawę, że RavenDb (i ogólnie bazy danych) promuje inny sposób myślenia o kontaktach z podmiotami, jeśli jest to tylko przypadek, gdy spędzam zbyt długo w świecie relacyjnym/znormalizowanym, każdy może wyjaśnić, w jaki sposób powinienem być strukturyzacji mojego kodu w sposób bardziej db dokumentu?
Być może łatwiej byłoby, gdyby można opisać w skrócie, co starasz się zrobić . Zrozumienie twojego BL może pomóc nam stworzyć strukturę encji bardziej odpowiednią dla RavenDB – synhershko