मैं अपने भंडार में इस है और यह अपेक्षा के अनुरूप काम करता है: 10 कॉलम, जहां मैं केवल 3 से बाहर की जरूरत है:Linq IQueryable
public virtual EntityClass GetById(int id)
{
return db.Set<EntityClass>().Find(id);
}
हालांकि, मैं या तो बहुत अधिक स्तंभ (उदाहरण के साथ कुछ तालिकाओं है उन्हें) या कुछ टेबल जहां मेरे पास बार-बार टेक्स्ट होता है, उन्हें लाने की आवश्यकता नहीं होती है।
मैं सोच रहा था कि प्राथमिक कुंजी द्वारा अभी भी खोज करने का कोई तरीका है लेकिन शायद IQueryable परिणाम प्राप्त हो रहा है? या कम से कम कुछ है कि मुझे इस तरह कुछ करने के लिए अनुमति दे सकता है:
var blah = myRepo.GetById(myId).Select(s => new {column 2, column 3, column 7})
के रूप में प्राथमिक कुंजी (इस प्रकार ठीक एक इकाई लौटने) द्वारा खोजें लगता है - तुम क्यों एक 'IQueryAble' वापसी मान की आवश्यकता होगी? – ChriPf
उद्देश्य से हारने के लिए IQueryable नहीं मिल रहा है? आमतौर पर डेटाबेस की यात्रा करने से बचने के लिए आमतौर पर उपयोग किया जाता है। आप यहां अनुकूलित करने की क्या कोशिश कर रहे हैं? – jjj
'ढूँढें' थोड़ा सा विशेष है जिसमें ऑब्जेक्ट को खोजने के लिए डीबी (स्टोर) पर जाने से पहले यह पहले 'स्टेटमैनगर' में जांच करेगा, जिसका अर्थ है कि यह संभावित रूप से कैश किया गया है और सभी फ़ील्ड लौटाए जाने चाहिए। यदि आप इष्टतम एसक्यूएल (उदाहरण के लिए तालिका के बजाए एक संकीर्ण सूचकांक को हिट करना चाहते हैं), जहां एक चयन प्रक्षेपण के साथ उपयोग करें, या यदि आप 'ढूंढें' का उपयोग करना चाहते हैं, तो आपको पूरी इकाई को लाइट में मैन्युअल रूप से मैप करना होगा या एनन कक्षा (लेकिन वहां थोड़ा बिंदु लगता है, क्योंकि यह पूरी इकाई का पुन: उपयोग करने के लिए सस्ता होना चाहिए)। – StuartLC