2015-06-23 186 views
0

[下面是類代碼:]![1]不能隱式轉換類型 'system.linq.iqueryable匿名類型#1' 爲byte []


byte[] Answer_Context; 
     for (int i = 0; i < NumOfRows; i++) 
     { 
      Answer_Context[i]= (from mt in db.Answers where mt.AssignmentID.Equals(QueryString_assignmentID) select new {mt.AnswerContext}); 
      s3eed[i] = Answer_Context; 

提示:( AnswerContext是我的數據庫中的NVarBinary字段)
這個linq查詢應該返回多個列,所以我用(選擇新的).. 。

爲什麼選擇新功能無法正常工作!

+0

試試這個編輯Answer_Context [i] =(從db.Answers噸,其中mt.AssignmentID.Equals(QueryString_assignmentID).FirstorDefault(); –

+0

@FerasSalim這不會沒有'select'工作雖然你可以做'db.Answers.FirstOrDefault(mt => mt.AssignmentID.Equals(QueryString_assignmentID);'而不是'但是然後你返回一個'Answer',而不是'byte'。 – juharr

+0

@juharr對不起,我忘記了語法 –

回答

0

select new將導致一個匿名類。如果你想在數組中輸出結果,只需選擇應該是byte的列和.ToArray。我也看不到for循環的任何原因。

byte[] Answer_Context = (from mt in db.Answers 
         where mt.AssignmentID.Equals(QueryString_assignmentID) 
         select mt.AnswerContext).ToArray(); 
相關問題