पर इकाई फ्रेमवर्क nvarchar केस संवेदनशीलता नीचे मेरे पास काफी सरल तालिका संरचना है और मुझे अजीब लगता है। हालांकि मैंने इसके आसपास काम करना चुना है लेकिन विशेषज्ञों की राय लेना चाहते हैं।विदेशी फ्रेम
मैं दो टेबल्स
Users
UserName nvarchar(250) Primary Key
FirstName nvarchar(50)
LastName nvarchar(50)
Registrations
Id BigInt PrimaryKey
User nvarchar(250) - Foreign to Users Table
Date - DateTime
Data I have is as follows.
Users
UserName FirstName LastName
a Small A
b Small B
Registrations
Id User Date
1 A 1/1/12
2 B 1/1/12
कृपया ध्यान दें उपयोगकर्ता का मामला यहां कैप्स यह एसक्यूएल में मान्य है है, यह स्वीकार करता है।
अब मज़ा भाग। मैंने ईडीएमएक्स उत्पन्न किया, नेट 4.0 और अब मैं इस कोड को निष्पादित करता हूं।
using (EFTestEntities context = new EFTestEntities())
{
var item = context.Registrations.Where(id => id.Id == 1).FirstOrDefault();
Response.Write(item.User1.LastName);
}
यह बस नल पॉइंटर एक्सेप्शन User 1 के साथ ब्रेक अशक्त फेंकता, जब मैं एक यह काम करता है के बजाय एक लिए पंजीकरण तालिका में उपयोगकर्ता नाम स्तंभ के मूल्य बदल जाते हैं।
कुछ हद तक इसी
यह Link एक और इसी तरह इस मुद्दे के बारे में यह Link वार्ता
अपने जवाब साझा करें क्यों इस व्यवहार, मेरे डीबी के मिलान केस-insentivity है। क्या आपको समान सामना करना पड़ा है?
मुझे इस बिंदु पर प्वाइंट 1 करना था क्योंकि डीबी परिवर्तन संभव नहीं है – Kusek
@ladislav उत्तर के लिए धन्यवाद। यह जानकारी आसानी से स्पष्ट नहीं है लेकिन यह जानकर मुझे अपनी समस्या को ठीक करने के लिए आवश्यक अंतर्दृष्टि मिली है। मुझे अलग-अलग मामले पीके के साथ एक बहुत ही तेज विरासत डेटाबेस के साथ कुश्ती करना पड़ा, जिस पर मेरा कोई नियंत्रण नहीं था। सौभाग्य से मैं एक दृश्य का उपयोग कर समस्या को हल करने में सक्षम था और यह सुनिश्चित करने के लिए कि वे मेल खाते हैं, दोनों अपमानजनक तालिकाओं पर 'UPPER ([PrimaryKey])' कर रहे थे। मैं वास्तव में इस दृष्टिकोण की सिफारिश नहीं करता लेकिन मुझे अपने कार्यक्रम को काम करने के लिए ऐसा करना पड़ा। – theyetiman