Zapytanie nhibernate dla elementów, które mają właściwość Dictionary zawierającą wartość

Potrzebuję sposobu na zapytanie w Nhibernate dla elementów, które mają właściwość Dictionary zawierającą wartość.

Założyć:

public class Item
{
     public virtual IDictionary<int, string> DictionaryProperty {get; set;}
}

i mapowanie:

    public ItemMap()
    {
        HasMany(x => x.DictionaryProperty)
            .Access.ReadOnlyPropertyThroughCamelCaseField(Prefix.Underscore)
            .AsMap<string>(
                index => index.Column("IDNumber").Type<int>(),
                element => element.Column("TextField").Type<string>().Length(666)
                )
            .Cascade.AllDeleteOrphan()
            .Fetch.Join();
    }

Chcę wysłać zapytanie do wszystkichItems, które mają wartość słownika „SomeText”. Następujący przykład w Linq kończy się niepowodzeniem:

session.Query<Item>().Where(r => r.DictionaryProperty.Any(g => g.Value == "SomeText"))

z błędem

cannot dereference scalar collection element: Value

Czy jest jakiś sposób na osiągnięcie tego w NHibernate? Linq nie jest wyłącznym wymogiem, ale jest preferowany. Nie, że nie jestem zainteresowany zapytaniem o słownikklawiatura które można osiągnąć za pomocą.ContainsKey . Ρορto jest podobny, ale nie taki sam

questionAnswers(1)

yourAnswerToTheQuestion