This same fix has also caused issues with many to many mappings when using
interfaces (as they are not classes). I've done a JIRA request (#3741)
and pull request (#385) specifically for interfaces, but that will not
resolve the mixed mapping issues. Does anyone know if any work was done to
look at the mixed mapping problem?
Thanks,
Neil.
On Friday, 28 November 2014 12:27:22 UTC, Ricardo Peres wrote:
>
> So, basically, Extends is missing, right? Perhaps you can create a Jira
> issue, or, better, a Jira issue and a pull request for it?
> Also for the bugs you spotted, since you went through the code and know
> what needs to be changed, can't you please submit a pull request?
>
> Thanks,
>
> RP
>
> On Friday, November 28, 2014 9:53:42 AM UTC, Stefan Steinegger wrote:
>>
>>
>> Thank you for the explanation.
>>
>>
>>> The bugfix fixed what was meant to fix. If it poses other problems, then
>>> we are here to fix them.
>>>
>>
>> When you explicitly map a many-to-many, it shouldn't make it a simple
>> value. Now I see the problem: if (modelInspector.IsManyToMany(property)).
>> With only the information of the property, the model cannot tell whether it
>> is a many-to-many or not in case of a dictionary, because there is a key
>> and a value which could be different. I propose to split it into
>> IsManyToMany and IsManyToManyKey. At a first glance, it wouldn't require
>> too many changes. The MapKeyManyToManyCustomizer and ManyToManyCustomizer
>> are adding to ManyToManyRelations and both know what they are.
>> ManyToManyRelations does not seem to be used for anything else. I'm not
>> sure if I should try to implement this myself. But it looks more or less
>> simple and we actually depend on this.
>>
>> By the way, before it gets forgotten, there is a typo in
>> SimpleModelInspector line 421, it should return ManyToOneRelations.
>>
>> IEnumerable<MemberInfo>
>> IModelExplicitDeclarationsHolder.ManyToOneRelations
>> {
>> get { return declaredModel.ManyToManyRelations; }
>> }
>>
>>
>>> BTW, what isn't mapping by code capable to do?
>>>
>>
>> We have an interface that is mapped as a base class. There is another
>> interface that derives from it, but it is not mapped. There is a class
>> implementing that interface. That one is mapped as joined subclass. There
>> are more subclasses, some are mapped, others are not. This allows having
>> only the necessary tables in the database while having an independent class
>> and interface hierarchy. Mapping by code tries to find base classes itself,
>> which fails in this case. I didn't try with 4.0, but I also didn't see that
>> "Extends" can be declared in the mapping.
>>
>>
--
---
You received this message because you are subscribed to the Google Groups
"nhibernate-development" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.