Search code examples
nhibernatefluent-nhibernatemany-to-manynhibernate-mappingany

Fluent Nhibernate Many to Many association to multiple classes


Fluent Nhibernate Many to Many association to multiple classes We use Nhibernate and up to now we have been able use the auto mapping. But I think this is about to change. We have a Code class that has a many to many relation with several other classes. I’m thinking something along these lines:

public class Code
{
    public virtual Guid Id { get; set; }
    public virtual ICollection<CodeUsage> Usage { get; set; }
}

class CodeUsage
{
    public virtual Guid Id { get; set; }
    public virtual Code Code { get; set; }

    // Class, [Property,] Id for "ANY" mapping to A & B
}

class A 
{
    public virtual Guid Id { get; set; }
    public virtual ICollection<CodeUsage> Codes { get; set; }
}

class B 
{
    public virtual Guid Id { get; set; }
    public virtual ICollection<CodeUsage> Codes { get; set; }
}

Many to Many will lead to the creation of a linking table, in the linking table their needs come a mapping to the classes using codes. In the documentation it is referred to as a “Any” mapping. But I have no idea how get fluent to create one.

Thoughts anyone? or even better: a solution <);o)}{


Solution

  • You can't map <many-to-any> in Fluent NHibernate - it's not supported.

    I think it may be a good reason to move to mapping-by-code, that supports it well.