मैं फ़्लुएंट एनएचबेर्नेट का उपयोग कर रहा हूं और एक छवि को स्टोर करने की कोशिश कर रहा हूं। छोटे छवियों काम करते हैं, लेकिन बड़े चित्र नहीं है, और मैं इस त्रुटि मिलती है जब डेटाबेस (SQL सर्वर) के लिए बचत: CFC.Domain.Vehicle.ImageNHibernate छवि संग्रहण - बाइट [] मान की लंबाई लंबाई कॉन्फ़िगर की गई
के लिए त्रुटि निर्जलित प्रक्रिया संपत्ति मूल्य:अपवाद
आंतरिक अपवाद: बाइट [] मान की लंबाई मैपिंग/पैरामीटर में कॉन्फ़िगर की गई लंबाई से अधिक है।
mapping.Table("Vehicle"); mapping.Id(x => x.Id, "VehicleID"); mapping.Map(x => x.Year).Not.Nullable(); mapping.Map(x => x.Image).CustomSqlType("VARBINARY(MAX)").Length(int.MaxValue);
"छवि" संपत्ति एक बाइट [] है:
यहाँ मेरी मानचित्रण है।
कस्टमस्क्लटाइप और लंबाई नोट करें, जो डेटाबेस में उचित nvarchar (अधिकतम) कॉलम बनाता है। मैंने अनगिनत अन्य मुद्दों को समान मुद्दों के बारे में बात करते हुए पढ़ा है, लेकिन कोई भी इस विशिष्ट त्रुटि को कवर नहीं करता है। ऐसा नहीं है कि डेटा को छोटा किया जा रहा है और फिर सहेजा जा रहा है, यह SQL क्वेरी भेजने से पहले ही त्रुटियों से बाहर है।
जिस छवि का मैं परीक्षण कर रहा हूं वह सिर्फ मानक विंडोज 7 नमूना छवियां (कोर्स के पेंगुइन.जेपीजी) है लेकिन लगभग 1kb की एक छवि ठीक काम करती है।
मैं सहायता की सराहना करते यदि यह मदद करता है तो यहां स्टैक ट्रेस की शुरुआत है।
[HibernateException: बाइट [] मूल्य की लंबाई लंबाई मानचित्रण/पैरामीटर में विन्यस्त से अधिक है।]
NHibernate.Type.AbstractBinaryType.Set (IDbCommand cmd, वस्तु मूल्य, Int32 सूचकांक) + 207
NHibernate.Type.NullableType.NullSafeSet (IDbCommand cmd, वस्तु मूल्य, Int32 इंडेक्स) 397
NHibernate.Type.NullableType.NullSafeSet (IDbCommand सेंट, वस्तु मूल्य, Int32 सूचकांक, बूलियन [] settable, ISessionImplementor सत्र) +62
NHibernate.Persister.Entity। AbstractEntityPersister.Dehydrate (वस्तु आईडी, [] क्षेत्रों वस्तु, वस्तु rowId, बूलियन [] includeProperty, बूलियन [] [] includeColumns, Int32 मेज, IDbCommand बयान, ISessionImplementor सत्र, Int32 इंडेक्स) 350[PropertyValueException : त्रुटि निर्जलित प्रक्रिया संपत्ति के मूल्य CFC.Domain.Vehicle.Image]
वस्तु
NHibernate.Persister.Entity.AbstractEntityPersister.Dehydrate (वस्तु आईडी के लिए, [] क्षेत्रों वस्तु, वस्तु rowId, बूलियन [] includeProperty, बूलियन [] [] कॉलम, इंट 32 टेबल, आईडीबी कॉमांड स्टेटमेंट, आईएसएशन इंटीग्रेटर सत्र, इंट 32 इंडेक्स) +510
NHibernate.Persister.Entity.AbstractEntityPersister.Dehydrate (वस्तु आईडी, वस्तु [] खेतों, बूलियन [] includeProperty, बूलियन [] [] includeColumns, Int32 j, IDbCommand सेंट, ISessionImplementor सत्र) +59 NHibernate.Persister.Entity .GeneratedIdentifierBinder.BindValues (IDbCommand ps) +79
NHibernate.Id.Insert.AbstractReturningDelegate।PerformInsert (SqlCommandInfo insertSQL, ISessionImplementor सत्र, IBinder बांधने की मशीन) 102
NHibernate.Persister.Entity.AbstractEntityPersister.Insert (ऑब्जेक्ट [] क्षेत्रों, बूलियन [] notNull, SqlCommandInfo एसक्यूएल, वस्तु obj, ISessionImplementor सत्र) 265
NHibernate.Persister.Entity.AbstractEntityPersister.Insert (ऑब्जेक्ट [] क्षेत्रों, वस्तु obj, ISessionImplementor सत्र) +358
NHibernate.Action.EntityIdentityInsertAction.Execute() +262
NHibernate.Engine.ActionQueue.Execute (IExecutable निष्पादन) +56
NHibernate.Event.Default.AbstractSaveEventListener.PerformSaveOrRepl icate 811
NHibernate.Event.Default.AbstractSaveEventListener.PerformSave (वस्तु इकाई, वस्तु आईडी, IEntityPersister persister (वस्तु इकाई, EntityKey कुंजी, IEntityPersister persister, बूलियन useIdentityColumn, कुछ भी, IEventSource स्रोत, बूलियन requiresImmediateIdAccess वस्तु), बूलियन useIdentityColumn, कुछ भी, IEventSource स्रोत, बूलियन requiresImmediateIdAccess) 543
NHibernate.Event.Default.AbstractSaveEventListener.SaveWithGeneratedId (वस्तु इकाई, स्ट्रिंग EntityName वस्तु, कुछ भी, IEventSource स्रोत, बूलियन requiresImmediateIdAccess) +257
लंबाई मानचित्रण निकालना चाहते हैं? – dotjoe
टिप्पणी के लिए धन्यवाद। दुर्भाग्यवश यह लंबाई के बिना एक ही समस्या है। मैंने मदद करने के लिए ऊपर एक स्टैक ट्रेस जोड़ा। – jkriddle