5

मेरे नक्शे में मेरे पास है:Fluent NHibernate एक घटक पर मेरी अनूठी बाधा को अनदेखा क्यों कर रहा है?

Component(
    x => x.ExposureKey, 
    m => { 
     m.Map(x => x.AsOfDate).Not.Nullable(); 
     m.Map(x => x.ExposureId).Length(30).Not.Nullable(); 
    } 
).Unique(); 

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> 

जो स्पष्ट रूप से component परिभाषा से unique="true" याद आ रही है है।

ऐसा क्यों हो रहा है?

उत्तर

0

क्या आप फ्लुएंट एनएचबेर्नेट के नवीनतम संस्करण का उपयोग कर रहे हैं? James Gregory (फ्लुएंट एनएचबेर्नेट योगदानकर्ता) के अनुसार, यह काम करना चाहिए।

// Else, try this hack: 
Component(x => x.ExposureKey, m => 
{ 
    m.Map(x => x.AsOfDate).Not.Nullable(); 
    m.Map(x => x.ExposureId).Length(30).Not.Nullable(); 
}).SetAttribute("unique", "true"); 

यह भी अगर उत्पन्न एसक्यूएल वास्तव में Unique संपत्ति सेट करने के बावजूद HBM मानचित्रण फ़ाइलें नहीं (एक छोटे से बग हो सकता है) करते है की जाँच करने के अच्छा होगा।

+0

मैं एक नया संस्करण आज़माउंगा (मैं 685 बिल्ड का उपयोग कर रहा हूं जबकि वर्तमान 694 है)। मुझे लगता है कि 'SetAttribute' हटा दिया गया है। जेनरेट किए गए एसक्यूएल में 'अनन्य' प्रॉपर्टी सेट नहीं है (और यह मैपिंग में नहीं होना चाहिए!)। – jason

+0

नवीनतम निर्माण (6 9 4) में अपडेट किया गया। अभी भी नहीं जाना – jason

+0

@ जेसन: यह अजीब ++ है और घर पर मेरा वीएस अभिनय पागल है। आशा है कि मैं इसे काम पर दोहराने की कोशिश करने से पहले एक जवाब प्राप्त करूंगा (लगभग 12 घंटे में)। यह क्या है, एमएसएसएलएल/MySQL? – rebelliard

संबंधित मुद्दे