NHibernate Property Mapping, best practise for type attribute?
I have a little doubt for mapping of property in hbm file.
Sometimes I've mapped the string field of my db in this way:
<property name="MyPropName" column="MyColumnName" length="20" />
but the same mapping can be wrote in this way:
<property name="MyPropName" column="MyColumnName" type="String(20)" />
my question is...what's the better way?
If I omit "type" attributes for property tags it works, but I don't know if there are some contraindications. Can you tell me?
And last thing...are right this associations?
db varchar fields -> type "AnsiString"
db nvarchar fields -> type "String"
The "best practice" is to only override the defaults. So, for your example, the first form would be the best.
As for the second question: yes, they are correct.
You can find all the value types and default mappings here: 5.2.2. Basic value types