नीचे एक इकाई बेस क्लास के लिए ऑब्जेक्ट। एक्वाल्स() को ओवरराइड करने का एक नमूना कार्यान्वयन है, जिससे एप्लिकेशन में अन्य सभी इकाइयां प्राप्त होती हैं।इकाई कक्षाओं के लिए GetHashCode() के लिए सही कार्यान्वयन क्या है?
सभी इकाई वर्गों में संपत्ति आईडी है, जो एक शून्य है। कैसे आप सही तरीके से लागू करते हैं GetHashCode() (यह भी टेबल इकाई वर्ग से मेल खाती है की प्राथमिक कुंजी है।)
public override bool Equals(object obj)
{
if (obj == null || GetType() != obj.GetType())
return false;
if (base.Equals(obj))
return true;
return Id.HasValue && ((EntityBase) obj).Id.HasValue &&
Id.Value == ((EntityBase) obj).Id.Value;
}
बराबर() की इस कार्यान्वयन को देखते हुए,?
रिकॉर्ड के लिए, आईडी के लिए एक निरर्थक int होना एक भयानक विचार है। आईडी वास्तव में हमेशा GUID होना चाहिए और निश्चित रूप से शून्य नहीं होना चाहिए। –