मुझे नए Loquacious कॉन्फ़िगरेशन का उपयोग करके IDictionary में मैपिंग करने में समस्या हो रही है।
यहाँ वर्ग है:
public class Person
{
public Person()
{
Description = new Dictionary<int, string>();
}
public virtual int Id { get; set; }
// can be in various languages
public virtual IDictionary<int, string> Resources { get; set; }
}
public class PersonResource
{
public virtual string Description { get; set; }
}
यहाँ मैपिंग है:
public class TestPersonMap : ClassMapping<TestPerson>
{
Table("TestPersons");
Id(c => c.Id, m => m.Generator(Generators.HighLow, gm => gm.Params(new { max_low = 1000 })));
Map(c => c.Resources, mpm =>
{
mpm.Table("TestPersonResources");
mpm.Key(km => km.Column("Id"));
},
mkr => mkr.Component(cem => cem.Property(p => p.Description)));
यह इस तरह डेटाबेस में एक टेबल तैयार करता है:
TestPersons
-----------
Id
TestPersonResources
-------------------
Id
Description
idx
प्रश्न यह है कि, मैं TestPersonResources तालिका में 'idx' कॉलम का नाम Lcid में कैसे बदलूं?
मैंने इस उदाहरण को देखने की कोशिश की http:/ /code.google.com/p/codeconform/source/browse/ConfOrm/ConfOrm.UsageExamples/ComponentAsDictionaryKey/Demo.cs
लेकिन मैं इसे अपनी समस्या पर लागू नहीं कर सकता।
अग्रिम में धन्यवाद!
2
Retard
9 सितंबर 2011, 01:05
1 उत्तर
सबसे बढ़िया उत्तर
NHibernate स्रोत कोड पर गड़बड़ करने और कठिन दिखने के बाद, मुझे लगता है कि आखिरकार मुझे यह काम मिल गया। यहाँ मैंने क्या किया है:
Map(c => c.Resources, mpm =>
{
mpm.Key(km => km.Column("Id"));
mpm.Table("TestPersonResources");
},
mkr => mkr.Element(mkm => mkm.Column("Lcid")),
cer => cer.Component(cem => cem.Property(p => p.Description, pm => pm.Length(100))));
2
Retard
10 सितंबर 2011, 12:37
साझा करने के लिए धन्यवाद, यह वही था जो मुझे चाहिए था। कम से कम मेरे जीवन का एक घंटा बचाया :-)
– Dav
1 अगस्त 2012, 13:59
संबंधित सवाल
नए सवाल
nhibernate
NHibernate .NET फ्रेमवर्क के लिए एक खुला स्रोत ऑब्जेक्ट-रिलेशनल मैपर (ORM) है।