[C#]如何解決指定轉換無效 [LINQ to SQL/DBML]

如果在使用LINQ呼叫stored procedure,
回傳錯誤訊息出現"指定轉換無效"

但是偶而正常,偶而不正常,

通常就是原因stored procedure 回傳型態不統一!!

型態不統一
 

比如 : 
Table : Cust  
column: age (int)
但因商業邏輯不同,可能需要呈現不同的結果,
結果A: 直接輸出age 
結果B: 指定某數字 select '99' as age

結果a視為是int,
結果b視為是string,  ('99' 是string!!!!!)

因此導致結果部分是int,部分是string,
LINQ產生定義檔,只會取一種定義,因此就會發生這種狀況..

 


與每個人,一起分享所學到,所用到的,

若有錯誤,請您不吝指教,謝謝大家。