Can one Address instance be shared by several Persons and/or
Subsidiaries? In that case, you clearly don't have a one-to-one
relation. One-to-one is very rare.

What you want is very likely a many-to-one mapping.

/G

2012/12/27 Viktor Engelmann <[email protected]>:
> Hi everyone,
>
> I'm relatively new to NHibernate, but I'm a graduate computer scientist and
> after nearly a whole day of searching for an answer to my problem, I'm
> asking myself
>
> "How can this be so hard!?"
>
> I have multiple classes, say class A and class B, where A has an instance of
> B as property like
> public class A : SomeBaseClass
> {
>    virtual public Int64 ID {get; set;}
>    virtual public string foo {get; set;}
>    virtual public B my_B_instance {get; set;}
> }
> public class B : SomeBaseClass
> {
>    virtual public Int64 ID {get; set;}
>    virtual public string bar {get; set;}
> }
>
> as you might notice, B does NOT have a reference to an A.
>
> Now I want to map the classes. First I tried something like
>    <property name="my_B_instance"/>
> because the Getting Started Tutorial is too damn busy confusing the
> NHibernate tutorial for an NUnit tutorial (and getting me confused about
> which code is for NHibernate and which code is for NUnit) to mention that
> "property" is only for primitive types.
> It took me hours to figure out why I got all the "Could not determine the
> type of ..." exceptions!
>
> So with far too much googeling, I found out, that
>    <one-to-one .../>
> should be the answer, BUT before even trying this, I found that one-to-one
> mappings must be bidirectional (so B would HAVE TO have a reference to an
> A).
> In my project, A=Person, B=Address and other classes like Subsidiary also
> have an Address, so referencing Person in Address would be complete
> nonsense.
>
> I got lost in the 500 page list of options
>
> Other "solutions" i have found, suggest using composite-id's or that my
> classes should implement IUserType. In both cases I would have to override
> the methods that NHibernate calls.
> I will not do that, because handling a fundamental thing like a reference to
> one class as property of another class CAN NOT BE SO HARD!
>
> And I haven't even started looking into inheritance. God have mercy on my
> soul!
>
> --
> You received this message because you are subscribed to the Google Groups
> "nhusers" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/nhusers/-/ocaC5W0CZtgJ.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/nhusers?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en.

Reply via email to