मैं कर्मचारी जानकारी वाले संग्रह से पूछताछ करने का प्रयास कर रहा हूं। जब मैं उस संग्रह क्वेरी मैं जहां प्रत्येक वस्तु दो क्षेत्रों है वस्तुओं का एक गणन वापस जाने के लिए करना चाहते हैं: (! ध्यान दें कि हर प्रबंधक भी एक कर्मचारी है)LINQ एक चयन के भीतर चुनें
- नाम
- ManagerName
अब, यहां मेरी समस्या है। जब मैं एक select
के भीतर एक select
करते हैं, कि प्रत्येक वस्तु पर दिया जाता है ManagerName
फ़ील्ड का मान:
System.Data.Common.Internal.Materialization.CompensatingCollection<string>
क्वेरी है:
var query =
from e in db.Employees
select new
{
Name = e.Name,
ManagerName =
from em2 in db.Employees
where (em2.EmployeeID == e.ManagerID)
select em2.Name
};
विशेष रूप से, जब मैं के मूल्य पर गौर ManagerName
, मुझे लगता है कि यह एक गणना है जो एक ही वस्तु उत्पन्न करती है। और यह कि एक आइटम एक स्ट्रिंग है जिसमें प्रबंधक का नाम होता है। तो, मुझे लगता है कि मैं करीब हूँ।
प्रश्न: मैं कैसे जहां प्रत्येक वस्तु बस दो स्ट्रिंग क्षेत्रों, Name
और ManagerName
है ताकि बजाय यह वस्तुओं का एक गणन रिटर्न मेरी क्वेरी को बदल सकते हैं?
क्या परिणाम आप चाहते हैं और आप क्या परिणाम क्या है कोई डब्ल्यू? क्या आपके पास अब 'क्वेरी' चर में तारों की एक संग्रह जोड़ी नहीं है? – FSou1
अब मेरे पास है: obj.Name = "MyName"; obj.ManagerName = System.Data.Common.Internal.Materialization.CompensatingCollection और केवल उस वस्तु यह "MyManagerName" है अंदर मैं चाहता हूँ: obj.Name = "MyName"; obj.ManagerName = "MyManagerName"; –
और आप क्या प्राप्त करना चाहते हैं? – FSou1