आप प्रकार असेंबली पर एक संस्करण मेल नहीं खा सकते हैं। यह संस्करण 10 और 11 के बीच एक ज्ञात समस्या थी। दुर्भाग्य से त्रुटि संदेश में संस्करण की जानकारी शामिल नहीं है, यही वजह है कि यह बकवास लगता है!
इसके चारों ओर जाने के लिए, आप प्रकार के द्विआधारी प्रतिनिधित्व को deserialize कर सकते हैं, यानी कुछ इस तरह (यदि आपका भूगोल कॉलम परिणाम सेट में पहला है):
var geo = SqlGeography.Deserialize(reader.GetSqlBytes(0));
अन्य समाधान भी हैं, जिसमें असेंबली के लिए बाध्यकारी रीडायरेक्ट करना शामिल है।
अधिक जानकारी यहाँ:https://connect.microsoft.com/SQLServer/feedback/details/685654/invalidcastexception-retriving-sqlgeography-column-in-ado-net-data-reader