Anda bisa memiliki ketidakcocokan versi pada Majelis Jenis. Ini adalah masalah yang diketahui antara versi 10 dan 11. Sayangnya, pesan kesalahan tidak menyertakan informasi versi, itulah sebabnya tampaknya tidak masuk akal!
Untuk menyiasatinya, Anda dapat melakukan deserialize representasi biner tipe, yaitu sesuatu seperti ini (jika kolom geografi Anda adalah yang pertama dalam kumpulan hasil):
var geo = SqlGeography.Deserialize(reader.GetSqlBytes(0));
Ada solusi lain, termasuk melakukan pengalihan mengikat untuk perakitan.
Info lebih lanjut di sini:https://connect.microsoft.com/SQLServer/feedback/details/685654/invalidcastexception-retrieving-sqlgeography-column-in-ado-net-data-reader