2014-02-12 73 views
-2

下面是一個代碼的一部分..C#Asp.net錯誤:指定的轉換無效

public Admin_GetCourseById_spResult GetCourseById(long? courseId, short languageId) 
    { 
     ISQUserDataContext db = CreateDataContext(); 
     Admin_GetCourseById_spResult result; 
     result = db.Admin_GetCourseById_sp(courseId,false,languageId).FirstOrDefault(); 
     return result; 
    } 

在該函數的第三線拋出錯誤Specified cast is not valid. 大約發生了什麼的任何線索??

+0

是不是'Admin_GetCourseById_sp'返回'Course'?因爲它看起來像它的名字。或者你需要解析爲課程的CourseRow? –

+0

什麼返回'Admin_GetCourseById_sp'? –

+1

可能存儲過程在同一時間發生了變化,而輸出列中包含另一種類型的數據 –

回答

0

小重寫(需要更多的工作)

public Course GetCourseById(long? courseId, short languageId) 
{ 
    ISQUserDataContext db = CreateDataContext(); 
    return new Course(db.Admin_GetCourseById_sp(courseId, false, languageId).FirstOrDefault()); 
} 

,然後添加一個類Course使用構造接受的Admin_GetCourseById_sp的返回類型,以營造良好的Course對象。

0

您的 db.Admin_GetCourseById_sp(courseId,false,languageId).FirstOrDefault()行返回一個數據行。 (如果沒有數據它可能返回null)

所以你可以做的就是這個,

你可以設置你

Admin_GetCourseById_spResult結果對象的每個屬性與返回的數據行的匹配值

即result.courseId =行[ 「COURSE_ID」]。的ToString()

{I假定courseId是字符串在Admin_GetCourseById_spResult類+匹配分貝colu mn是course_id。

您已經提供了很少的數據,所以只能這樣回答。祝你好運 !

相關問題