2008-11-11 9 views
7

मैं कॉन्फ़िगरेशन फ़ाइल में निर्दिष्ट "बोलीभाषा" और "connection.driver_class" गुणों के लिए रनटाइम पर पुनर्प्राप्ति करना चाहता हूं।NHibernate: रनटाइम पर कॉन्फ़िगरेशन गुणों (एसक्यूएल डायलेक्ट) तक पहुंच

क्या आप जानते हैं कि यह कैसे करें?

बहुत धन्यवाद, निकॉला

उत्तर

4

जब आप विन्यास वस्तु का निर्माण और XML लोड और अंत में SessionFactory निर्माण, विन्यास वस्तु संदर्भ आपके पास करने के लिए पर लटका।

आप कॉन्फ़िगरेशन संदर्भ के गुण वस्तु का उपयोग कर सकते हैं, या आप Dialect.GetDialect (_configuration.Properties) जैसे कुछ कर सकते हैं।

19

आपके उत्तर के लिए धन्यवाद। एक बात जो मुझे उस समाधान में पसंद नहीं है वह यह है कि मुझे कॉन्फ़िगरेशन रखने और बोली के ज्ञान की आवश्यकता वाले तरीकों से इसे पास करने की आवश्यकता है।

मुझे कुछ अन्य तरीकों से मिला जो केवल ISessionFactory के ISession के संदर्भ की आवश्यकता है।

ISession से

:

public static Dialect GetDialect(ISession session) 
    { 
     Dialect dialect = session.GetSessionImplementation().Factory.Dialect; 
     return dialect; 
    } 

ISessionFactory से:

public static Dialect GetDialect(ISessionFactory sessionFactory) 
    { 
     var implementor = sessionFactory as ISessionFactoryImplementor; 
     Dialect dialect = implementor.Dialect; 
     return dialect; 
    } 
संबंधित मुद्दे