2009-03-11 7 views
34

मैं एनएचबेर्नेट के लिए नौसिखिया हूं और मैपिंग के लिए फ्लुएंट का उपयोग करने की कोशिश कर रहा हूं। मेरा इकाई वर्ग का नाम डेटाबेस तालिका नाम से अलग है जिसे इसे मैप किया जाना है। मैं ClassMap<> से व्युत्पन्न मैपिंग क्लास का उपयोग कर रहा हूं, लेकिन मैं तालिका का नाम निर्दिष्ट नहीं कर सकता: ClassMap से TableName संपत्ति केवल पढ़ने योग्य है।Fluent NHibernate ClassMap क्लास में तालिका का नाम कैसे निर्दिष्ट करें?

आपकी मदद के लिए धन्यवाद।

उत्तर

43

इसके बजाय का उपयोग करें।

+9

यह अब है। सितंबर 200 9 तालिका ("table_name") के रूप में; – Chin

6

क्या यह काम करता है?

public class UserAccountMap : ClassMap<UserAccount> { 
    public UserAccountMap() { 
     Table("User"); 
     Id(x => x.UserID, "UserID").GeneratedBy.Identity(); 
     Map(x => x.FirstName, "FirstName").Length(50) 
      .Not.Nullable(); 
     Map(x => x.LastName, "LastName").Length(50) 
      .Not.Nullable(); 
    } 
} 
+1

उपयोगकर्ता एक आरक्षित कीवर्ड है। 'के साथ संलग्न Http://stackoverflow.com/a/2879630/475882 – jaxxbo

6

ऊपर दिया गया उदाहरण मुझे सही दिशा में ले जाता है। यह मेरे लिए काम किया। मेरा वर्ग का नाम "पार्टी" है और मेरा टेबल नाम "prty.Party" है।

public class PartyMap : ClassMap<Party> 
{ 
    public PartyMap() 
    { 
    Table("prty.Party"); 
    Id(x => x.PartyID); 
    Map(x => x.PartyTypeLID); 
    Map(x => x.OrganizationTypeLID); 
    Map(x => x.PreferredContactMethodLID); 
    Map(x => x.PrimaryLanguageLID); 
    Map(x => x.PartyVID); 
    Map(x => x.BeginDate); 
    Map(x => x.EndDate); 
    Map(x => x.RowDescriptor); 
    Map(x => x.RowModifiedDate); 
    Map(x => x.RowModifiedBy); 
    Map(x => x.RowCreatedDate); 
    Map(x => x.RowCreatedBy); 
    }   
} 
+0

देखें कि यह सभी मानचित्र कॉल छोड़ने का कोई तरीका हो सकता है? –

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