2012-05-14 15 views
6

मैं हाल ही में सी भाषा के साथ sqlite3 का उपयोग करता हूं। क्या कोई मुझे सी के लिए कुछ सुविधाजनक ओआरएम बता सकता है? क्या मेरी अपनी परियोजनाओं के लिए ओआरएम तंत्र विकसित करने की आवश्यकता है? http://ales.jikos.cz/smorm/क्या सी के लिए कुछ सुविधाजनक ओआरएम पुस्तकालय ढांचा है?

मैं इसे इस्तेमाल नहीं किया है, इसलिए मुझे दोष नहीं है, तो यह आपके सभी हार्ड ड्राइव reformats और अपने रेफ्रिजरेटर सिर्फ पर्याप्त गर्म अपना दूध खराब करने के लिए करता है, लेकिन:

+2

ऐसा लगता है कि कोई भी व्यक्ति जो ओआरएम को सी में कोडिंग करने की संभावना नहीं है .. –

+0

क्या आपको यह ध्यान में रखना है कि सी आम तौर पर उस संक्षिप्त शब्द का ऑब्जेक्ट हिस्सा गायब है? – Justin

+2

मैंने इसके बारे में भी सोचा है (सी से एक्सेस स्वचालित करने के लिए कुछ प्रकार की लाइब्रेरी); यह शायद एक तालिका में एक पंक्ति के लिए एक संरचना को मानचित्र करेगा। कृपया डाउनवॉटर/क्लोजर्स समझा सकते हैं क्यों? –

उत्तर

2

ओआरएम की आवश्यकता होने से मुझे पता चलता है कि आपके पास किसी प्रकार का व्यवसाय/डोमेन ऑब्जेक्ट मॉडल है जो आप डेटाबेस में मैप करना चाहते हैं।

यदि ऐसा है, तो यह मुझे मारता है कि आप सिस्टम प्रोग्रामिंग (सी) के लिए उपयुक्त सर्वोत्तम भाषा में एक व्यवसाय अनुप्रयोग लिखने की कोशिश कर रहे हैं। आप यह विचार करना चाहेंगे कि यह एक अच्छी वास्तुशिल्प रणनीति है या नहीं।

इसके अलावा, मुझे नहीं लगता कि ORM कभी एक भाषा के लिए बढ़िया साबित होने की संभावना है है कि:

  1. ही नहीं है वस्तु उन्मुख
  2. मेटा के लिए ज्यादा समर्थन नहीं है प्रोग्रामिंग/प्रतिबिंब जो केंद्रीय हो जाता है कई ORM योजनाओं

अंत में, बहुत से लोगों को जो मानते हैं कि ORM किसी भी मामले में एक विरोधी पैटर्न है देखते हैं करने के लिए। कुल मिलाकर

  • बचें ORM यदि आप जहां ORM कम से कम एक भाषा/मंच के लिए सी
  • स्विच का उपयोग जारी रखने की योजना है: (example, example, example)

    कुल मिलाकर, मेरी सुझाव या तो होगा अच्छी तरह से समर्थित है और प्रतिमान (सबसे स्पष्ट रूप से जावा)

+0

आपको बहुत धन्यवाद। सुझाव उपयोगी हैं। मेरा मूल इरादा डीबी तक पहुंचने के लिए दोहराए जाने से बचने के लिए है। क्योंकि मुझे अपनी परियोजना में कई पुनरावृत्ति कोड मिला है।मैंने ऐसा करने के लिए कुछ तंत्र लिखा है, लेकिन यह पूरी तरह सारणी के लिए इतना कठिन है। मैं पहले ओआरएम ढूंढने पर विचार करता हूं, और कुछ कम हैं। –

0

एक संक्षिप्त Google खोज इस के साथ आया था ऐसा लगता है कि अगर आप वास्तव में प्रश्न लिखना नहीं चाहते हैं तो यह कुछ भी बेहतर नहीं हो सकता है।

+0

ओह हाँ। ऐसा लगता है कि लेखकों को उनके एपीआई पर विश्वास नहीं है .. –

3

मैंने this library को "ORM के लिए ORM" के रूप में लिखा है।

उदाहरण कोड लगता है:

typedef struct person { 
    int id; 
    char *name; 
} person; 

void find_by_name(isti_db *db, const char *text, person** result) { 
    corm_person_select *s; 
    corm_person_select_alloc(&s, db); 
    s->name(s, "like", text)->_go_one(s, result); // populate result from the database 
    s->_free(s, 0); // in "real" code, 0 is a chained status value 
} 

दुर्भाग्य से, यह उपयोग में नहीं है कहीं भी (के रूप में मैं जानता हूँ जहाँ तक) है और यह काफी कुछ विचारों कि ग प्रोग्रामर अजीब मिल सकती है अनुभवी भी शामिल है। लेकिन इसे छोड़ दिया नहीं गया है - मुझे अभी भी समस्या में दिलचस्पी है और किसी भी समय इस पर काम जारी रखने की उम्मीद है।

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