The mentioned setting is for Project level use only, that's why you don't see it in the entity's Code.Geneneration sub-tab.
I don't know much about this NH setting, neither the possible consequences setting it on/off on opposite sides of a relation. this post seems to explain it quite well.
A question: Does it have the same effect if you turn off the "Emit navigator setter" setting in the navigator of the parent side?
If you really need this I think you could do the following:
- Create an extension of the NH framework settings. In a notepad paste the following code and save it into <LLBLGen v3.1 installation folder>\Frameworks\SD.Frameworks.NHibernate.Extended.frameworksettings
<?xml version="1.0"?>
<frameworkSettings xmlns="http://sd/llblgen/pro/frameworkSettingsDefinition.xsd">
<supportedFrameworks>
<framework name="NHibernate"/>
</supportedFrameworks>
<settingDefinitions>
<settingDefinition name="SetInverseTrueOnCollectionMappingsForNavigator" description="This setting controls whether 'inverse=true' is appended to navigator mappings which represent a set/collection" default="true" category="General"
type="bool" targetElement="512" defaultSource="SetInverseTrueOnCollectionMappings"/>
</settingDefinitions>
</frameworkSettings>
What we just did is to create another setting called **SetInverseTrueOnCollectionMappingsForNavigator **which is applied only to 1:n navigators. That setting takes it's default value from the original one, which is placed at Project label, that is SetInverseTrueOnCollectionMappings. So you can place the default for all entities at project level, then you can go to each navigator and change those you want.
- Modify the templates so they look now for the new setting.
2.1. Edit <LLBLGen v3.1 installation folder>\Frameworks\NHibernate\Templates\Shared\Shared\entityHbmMapping.lpt , go to line 552 and change it to:
inverse = relationshipInfo.NavigatorInstance.OutputSettingValues.GetRealBoolSettingValue("SetInverseTrueOnCollectionMappingsForNavigator", currentProject)
2.2. For fluent, go to <LLBLGen installation folder>\Frameworks\NHibernate\Templates\Net3.5\C#\entityFluentMapping.lpt, go to line 632 and change it to:
inverse = relationshipInfo.NavigatorInstance.OutputSettingValues.GetRealBoolSettingValue("SetInverseTrueOnCollectionMappingsForNavigator", currentProject)
Save both template files.
Now you have two settings the one you always saw, that is at project level, SetInverseTrueOnCollectionMappings. Use it to instruct the Designer to apply this to all your entity navigators.
The other one is SetInverseTrueOnCollectionMappingsForNavigator. This setting can be set only to Navigator elements.
To apply it, go to your special entity, then to Code gen info sub-tab, then at the "Element" DropDownList select the 1:n navigator you want to modify. You will see the new setting, set it to true/false, as you wish.
(Edit)
If you elaborate more on Why should we put this setting in navigator elements as well, maybe it could be included in future versions.