में एकाधिक स्थितियों के साथ जुड़ने का उपयोग कैसे करें मेरे पास दो कक्षाएं हैं (अनुरोध & RequestDetail)। मुझे जुड़ने के द्वारा दो कक्षाओं के बीच Linq To NHibernate
क्वेरी की आवश्यकता है।linq-to-Nhibernate
var q = SessionInstance.Query<Request>()
.Where(x => x.State == "Init");
var q2 = SessionInstance.Query<RequestDetail>();
q2 = q2.Where(xx => xx.Purpose.Contains("Purpose Sample")); // This line has a error When execution `q.ToList()`
q = q.Join(q2, request => request.Id, detail => detail.Id, (request, detail) => request);
return q.ToList();
जब मैं q2
करने के लिए एक Where
शर्त का जोड़ा, परिणाम एक रनटाइम त्रुटि है। अपवाद के संदेश है: Specified method is not supported.
स्टैक ट्रेस:
at NHibernate.Hql.Ast.ANTLR.PolymorphicQuerySourceDetector.GetClassName(IASTNode querySource)
at NHibernate.Hql.Ast.ANTLR.PolymorphicQuerySourceDetector.Process(IASTNode tree)
at NHibernate.Hql.Ast.ANTLR.AstPolymorphicProcessor.Process()
at NHibernate.Hql.Ast.ANTLR.ASTQueryTranslatorFactory.CreateQueryTranslators(IASTNode ast, String queryIdentifier, String collectionRole, Boolean shallow, IDictionary`2 filters, ISessionFactoryImplementor factory)
at NHibernate.Hql.Ast.ANTLR.ASTQueryTranslatorFactory.CreateQueryTranslators(String queryIdentifier, IQueryExpression queryExpression, String collectionRole, Boolean shallow, IDictionary`2 filters, ISessionFactoryImplementor factory)
at NHibernate.Engine.Query.QueryPlanCache.GetHQLQueryPlan(IQueryExpression queryExpression, Boolean shallow, IDictionary`2 enabledFilters)
at NHibernate.Impl.AbstractSessionImpl.GetHQLQueryPlan(IQueryExpression queryExpression, Boolean shallow)
at NHibernate.Impl.AbstractSessionImpl.CreateQuery(IQueryExpression queryExpression)
at NHibernate.Linq.NhQueryProvider.PrepareQuery(Expression expression, IQuery& query, NhLinqExpression& nhQuery)
at NHibernate.Linq.NhQueryProvider.Execute[TResult](Expression expression)
at Remotion.Data.Linq.QueryableBase`1.GetEnumerator()
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
क्यों?
इस उत्तर वर्ल्ड करने की घोषणा की जाने की आवश्यकता है
यहाँ आपकी समस्या के लिए समाधान नहीं है! यह वही तरीका है जो यह कर सकता है और काम करता है! मैं विश्वास नहीं कर सकता कि हमने कितनी बार देखा है और भयानक प्रश्नोत्तरी सामान के अलावा कोई समाधान नहीं मिला है, या नए मैपिंग बनाने के लिए मजबूर किया जा रहा है! – user2415376