/ / MongoDB क्रमांकन जानकारी निर्धारित करने में असमर्थ - mongodb, mongodb-.net-driver, mongodb- प्रश्न

MongoDB क्रमांकन जानकारी निर्धारित करने में असमर्थ - mongodb, mongodb -net-driver, mongodb- प्रश्न

मुझे Mongodb क्वेरी के साथ एक समस्या है। यहाँ कक्षाएं हैं:

    class A
{

}
class B : A
{

}
class C : A
{
public string prop1 { get; set; }
}
class D
{
public List<A> collection1 { get; set; }
}

और क्वेरी:

   var query1 = Query<D>.ElemMatch(d => d.collection1.OfType<C>(),
builder => builder.EQ(c => c.prop1, "val1"));

संक्षेप में, मैं कक्षा डी के सभी उदाहरणों का चयन करना चाहता हूं जिनके संग्रह "संग्रह 1" में कक्षा सी का कम से कम एक उदाहरण है, जिसकी संपत्ति "प्रोप 1" "वैल 1" के बराबर है।

यह "अभिव्यक्ति के लिए क्रमांकन जानकारी निर्धारित करने में असमर्थ" को नीले रंग से बाहर निकालता रहता है।

मैं क्या गलत कर रहा हूं? मैंने बिना किसी लाभ के BsonKnownTypes (टाइपोफ़ (B), टाइपोफ़ (C)) के साथ "A" को सजाने की कोशिश की।

पुनश्च: अगर मेरे पास केवल एक वर्ग ए था:

    class A
{
public string prop1 { get; set; }
}
class D
{
public List<A> collection1 { get; set; }
}

तब यह कोड काम करता है और ठीक वही करता है जो मैं चाहता हूं:

   var query1 = Query<D>.ElemMatch(d => d.collection1,
builder => builder.EQ(c => c.prop1, "val1"));

लेकिन यह वह नहीं है जो मैं चाहता हूं, मैं "बी" और "सी" रखना चाहता हूं जो "ए" से विरासत में मिला है।

उत्तर:

जवाब के लिए 0 № 1

उपयोग करने का प्रयास करें: nameof().

builder => builder.EQ(nameof(C.prop1), "val1");