I use NHibernate 4.0.2.4000. I'm creating a mapping using PropertyInfo:

PropertyInfo[] props = classType.GetProperties();
foreach (PropertyInfo prop in props)
{
    /* some code */

    Bag(prop.Name, collectionMapping =>
    {
        collectionMapping.Table(prop.Name + "_" + classType.Name +"_Rel");
        collectionMapping.Key(k => k.Column(prop.Name + "_Id"));
    },
    mapping => mapping.ManyToMany(p => p.Column(classType.Name + "_Id")));

    /* some code */
}


But the "Bag" returns an error: *The type arguments for method [...] cannot 
be inferred from the usage. Try specifying the type arguments explicitly*. 
I know that I have to use Bag<TElement>() but I don't have TElement.

Methods (Id(), Property()) work well. The method ManyToOne() is in the same 
situation.

I tried to use it:

this.GetType()
    .GetMethod("Bag")
    .MakeGenericMethod(prop.PropertyType)
    .Invoke(this, new object[]{ prop.Name, [...], [...] });


but delegates are too complicated.

Maybe someone knows another solution? Please don't propose to do map in the 
xml in memory dynamically. Thanks.

-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/nhusers.
For more options, visit https://groups.google.com/d/optout.

Reply via email to