Nella mia mappa ho:Perché Fluent NHibernate ignora il mio vincolo univoco su un componente?
Component(
x => x.ExposureKey,
m => {
m.Map(x => x.AsOfDate).Not.Nullable();
m.Map(x => x.ExposureId).Length(30).Not.Nullable();
}
).Unique();
la relativa uscita dalla HBM è
<component name="ExposureKey" insert="true" update="true" optimistic-lock="true" class="Some.Namespace.CreditExposureKey, Some.Namespace, Version=0.0.0.0, Culture=neutral, PublicKeyToken=aaaaaaaaaaaaaaaa">
<property name="AsOfDate" type="System.DateTime, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<column name="AsOfDate" not-null="true"/>
</property>
<property name="ExposureId" type="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<column name="ExposureId" length="30" not-null="true"/>
</property>
</component>
che è chiaramente manca unique="true"
dalla definizione component
.
Perché sta succedendo?
Proverò una versione più recente (sto usando build 685 mentre corrente è 694). penso che 'SetAttribute' sia stato rimosso. L'SQL generato non ha il set di proprietà 'unique' (e non dovrebbe poiché non è nella mappatura!). – jason
Aggiornato all'ultima build (694). Ancora no. – jason
@ Jason: Questo è strano + e il mio VS a casa sta agendo come un matto. Spero che avrai una risposta prima di provare a replicare questo al lavoro (in circa 12 ore). Cos'è questo, MSSQL/MySQL? – rebelliard