How do you expect to store this in the database anyway? Do you plan
on a Comment table with a TargetID column which could contain a
PhotoID / VideoID / PostID? In this case you've got no referential
integrity at all and clearly there's no way that NHib could work out
which entity to load.
I'd suggest having separate columns on your Comment table for PhotoID,
VideoID and PostID. And these could then be mapped as many-to-ones in
your Comment class. If you really want to, you can then have:
public ICommentable Target
{
get { return Photo ?? Video ?? Post; }
}
Cheers,
John
On Sep 2, 6:28 pm, nyankov <[email protected]> wrote:
> Hi Everyone,
>
> I need help in following.
>
> Let's consider we have classes Photo, Video, Post, and each of this
> classes implements ICommentable.
>
> public interface ICommentable{
> IList<Comment> Comments { get; set; }
>
> }
>
> public class Comment{
>
> public ICommentable Target { get; set; }
>
> }
>
> My question is how should I map this situation. ManyToOne and
> OneToMany seems not work here because Photo, Video, Post are
> different
> classes and in Comment table should be able some how to mention which
> is target.
>
> Any help will be much appriciated.
>
> Thanks.
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---