मेरे पास कोड-बैक फ़ाइल में एएसपीनेट पृष्ठ पर एक कोड सेगमेंट था। मैंने इसे एक मॉड्यूल (general_functions.vb) में सार्वजनिक सबराउटिन में स्थानांतरित करने का निर्णय लिया। एक बार मैंने ऐसा किया, हालांकि, कोड अब काम नहीं करता है - यह एक त्रुटि फेंकता है।LINQ से संस्थाएं विधि को पहचान नहीं पाती हैं System.ObjectCompareObjectEqual
मूल पर कोड-पीछे मैं एक कॉल की तरह तो साथ मूल कोड की जगह:
DeleteResidency(people_id, semester, year)
अब मेरी general_functions.vb में मैं एक सार्वजनिक सबरूटीन बनाई गई इस प्रकार की तरह:
Public Sub DeleteResidency(delpeople_id, delsemester, delyear)
Using dbContext as pbu_housingEntities = New pbu_housingEntities
Dim remove_selection = (From p in dbContext.Residents _
Where p.people_code_id = delpeople_id _
Where p.year = delyear _
Where p.semester = delsemester _
Order By p.id Descending _
Select p).FirstOrDefault
End Using
End Sub
वहाँ इसके मुकाबले इसके लिए अधिक कोड है, लेकिन ऊपर दिया गया कोड त्रुटि को फेंकता है। त्रुटि मैं मिलता है:
संस्थाओं को LINQ विधि 'System.Object CompareObjectEqual (System.Object, System.Object, बूलियन)' विधि, और को नहीं पहचानता है इस विधि एक दुकान में अनुवाद नहीं किया जा सकता अभिव्यक्ति।
क्या कोई यह समझने में मेरी सहायता कर सकता है कि यह क्यों हो रहा है?
'सेमेस्टर' का प्रकार क्या है? – Eranga
सभी मूल्य स्ट्रिंग के रूप में डाले जाते हैं। – davemackey
मुझे संदेह है कि आपकी स्थितियों में कुछ गैर-आदिम प्रकार की तुलना है। – Eranga