मैंने अभी यह प्रश्न पूछा है। जो मुझे एक नए सवाल के लिए नेतृत्व :)
इस बिंदु तक, मैंने क्वेरी द्वारा लौटाए गए 0 "पंक्तियों" को संभालने में सक्षम होने के उद्देश्य से लिंक से SQL के साथ सामान का चयन करने के निम्नलिखित पैटर्न का उपयोग किया है:
var person = (from p in [DataContextObject].Persons
where p.PersonsID == 1
select new p).FirstOrDefault();
if (person == null)
{
//handle 0 "rows" returned.
}
लेकिन जब मैं करता हूं तो मैं FirstOrDefault()
का उपयोग नहीं कर सकता:
var person = from p in [DataContextObject].Persons
where p.PersonsID == 1
select new { p.PersonsID, p.PersonsAdress, p.PersonsZipcode };
// Under the hood, this pattern generates a query which selects specific
// columns which will be faster than selecting all columns as the above
// snippet of code does. This results in a performance-boost on large tables.
How do I check for 0 "rows" returned by the query, using the second pattern?
UPDATE:
मुझे लगता है कि मेरा निर्माण विफल रहता है क्योंकि मैं क्वेरी के परिणाम को एक चर ( this._user
) के रूप में घोषित करने की कोशिश कर रहा हूं [DataContext] .User
के प्रकार के साथ घोषित किया गया है।
this._user = (from u in [DataContextObject].Users
where u.UsersID == [Int32]
select new { u.UsersID }).FirstOrDefault();
संकलन त्रुटि: "AnonymousType # 1" को "[DataContext] .User" में रूपांतरित रूप से रूपांतरित नहीं कर सकता।
इस बारे में कोई विचार है कि मैं इस बारे में कैसे प्राप्त कर सकता हूं? क्या मुझे अपना ऑब्जेक्ट बनाना होगा?