In meiner Karte habe ich:Warum ignoriert Fluent NHibernate meine eindeutige Einschränkung für eine Komponente?
Component(
x => x.ExposureKey,
m => {
m.Map(x => x.AsOfDate).Not.Nullable();
m.Map(x => x.ExposureId).Length(30).Not.Nullable();
}
).Unique();
Die entsprechende Ausgabe von der HBM ist
<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>
die eindeutig unique="true"
aus der component
Definition fehlt.
Warum passiert das?
Ich werde versuchen, eine neuere Version (ich benutze Build 685, während die aktuelle 694 ist). Ich denke, dass 'SetAttribute' entfernt wurde. Das generierte SQL hat nicht die Eigenschaft 'unique' (und sollte es nicht, da es nicht im Mapping ist!). – jason
Aktualisiert auf den letzten Build (694). Immer noch nicht gehen. – jason
@Jason: Das ist seltsam ++ und mein VS zu Hause ist verrückt. Hoffentlich erhalten Sie eine Antwort, bevor ich versuche, dies bei der Arbeit zu replizieren (in ungefähr 12 Stunden). Was ist das, MSSQL/MySQL? – rebelliard