2012-12-19 13 views
11

के साथ स्कीमा नामों का उपयोग करना कोई भी जानता है कि स्कीमा नामों के साथ क्वेरी टेबल पर सही एलियास विशेषता कैसे लागू करें?SQL सर्वर और ServiceStack.OrmLite

मेरे पास accounts.register नामक एक टेबल है। मैंने पंजीकरण कक्षा के लिए कक्षा सजावट विशेषता के रूप में [Alias("accounts.register")] का उपयोग करने का प्रयास किया है लेकिन यह काम नहीं करता है।

यदि मैं स्कीमा को dbo पर बदलता हूं तो मैं उपनाम और सब कुछ काम कर सकता हूं। दुर्भाग्यवश मेरे पास कई स्कीमा के साथ एक विरासत प्रणाली है इसलिए मुझे इसे काम करने की ज़रूरत है।

उत्तर

20

ठीक है मैंने इसे समझ लिया। उपनाम विशेषता के साथ स्कीमा विशेषता है। पूर्व सर्विसस्टैक में है। डेटाअनोटेशन नेमस्पेस लेकिन बाद वाला सर्विसस्टैक.ऑरमलाइट नेमस्पेस में है।

using System; 
using ServiceStack.OrmLite; 
using ServiceStack.DataAnnotations; 

[Schema("myschema")] 
[Alias("mytable")] 
public class MyEntity 
{ 
    [PrimaryKey] 
    [AutoIncrement] 
    public long Id { get; set; } 

    [Alias("field1")] 
    public string SomeField1 { get; set; } 

    [Alias("field1")] 
    public string SomeField2 { get; set; } 
} 
+0

किसी भी विचार कैसे आप टी -4 POCO पीढ़ी उपयोग कर रहे हैं OrmLite यह करने के लिए प्राप्त करने के लिए: यहाँ एक उदाहरण क्षेत्रों फ़ील्ड 1 & field2 के लिए/myschema.mytable से मैप करने के लिए है? – anaximander

+0

@anaximander समर्थन हाल ही में संस्करण 4 में जोड़ा गया है। Https://github.com/ServiceStack/ServiceStack.OrmLite/commit/a305464056dfa4739f77417dc9e42b323222a3f1। यदि आप इसे स्वयं जोड़ना चाहते हैं, तो आप '[स्कीमा ("<# = tbl.Schema #>")]' नीचे दी गई पंक्ति में '[उपनाम ("<#=tbl.Name#>")] जोड़ सकते हैं और इससे आपको स्कीमा विशेषता मिल जाएगी आवश्यकता होती है। –