मैंने उसी त्रुटि के बारे में बहुत से प्रश्न पढ़े हैं लेकिन मेरी सटीक समस्या से मेल खाने के बाद से कोई भी नहीं है। मैं फ्लुएंट एनएचबेर्नेट का उपयोग करके किसी ऑब्जेक्ट की संपत्ति तक पहुंचने की कोशिश कर रहा हूं, जो रूट ऑब्जेक्ट का हिस्सा है। कुछ उत्तरों का कहना है कि मुझे अनुमानों का उपयोग करने की आवश्यकता है, अन्य जिन्हें मुझे शामिल होने की आवश्यकता है, और मुझे लगता है कि इसे आलसी लोडिंग के माध्यम से काम करना चाहिए।फ्लुएंट एनएचबर्ननेट "संपत्ति को हल नहीं कर सका"
यहाँ Fluent मैपिंग के साथ मेरे दो वर्ग हैं:
कलाकार वर्ग
public class Artist
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual IList<Album> Albums { get; set; }
public virtual string MusicBrainzId { get; set; }
public virtual string TheAudioDbId { get; set; }
public Artist() { }
}
public class ArtistMap : ClassMap<Artist>
{
public ArtistMap()
{
LazyLoad();
Id(a => a.Id);
Map(a => a.Name).Index("Name");
HasMany(a => a.Albums)
.Cascade.All();
Map(a => a.MusicBrainzId);
Map(a => a.TheAudioDbId);
}
}
एल्बम वर्ग
public class Album
{
public virtual int Id { get; set; }
public virtual Artist Artist { get; set; }
public virtual string Name { get; set; }
public virtual IList<Track> Tracks { get; set; }
public virtual DateTime ReleaseDate { get; set; }
public virtual string TheAudioDbId { get; set; }
public virtual string MusicBrainzId { get; set; }
public Album() { }
}
public class AlbumMap : ClassMap<Album>
{
public AlbumMap()
{
LazyLoad();
Id(a => a.Id);
References(a => a.Artist)
.Cascade.All();
Map(a => a.Name).Index("Name");
HasMany(a => a.Tracks)
.Cascade.All();
Map(a => a.ReleaseDate);
Map(a => a.TheAudioDbId);
Map(a => a.MusicBrainzId);
}
}
और त्रुटि होता है जब इस कोड व्याख्या की है :
var riAlbum = session.QueryOver<Album>()
.Where(x => x.Name == albumName && x.Artist.Name == artist)
.List().FirstOrDefault();
त्रुटि होता है जब धाराप्रवाह NHibernate x.Artist.Name मूल्य को हल करने की कोशिश करता है:
{ "संपत्ति हल नहीं कर सका: की Artist.Name: एल्बम"}
क्या ऐसा करने का सही तरीका होगा?
यह पूरी तरह से काम करता है। पीछे भी कारण बताते हुए धन्यवाद! – Astaar
भयानक स्पष्टीकरण! –