2013-11-09 50 views
4

我有兩個名爲Rank和CrewMembers的表。我想根據CrewMember的id獲取Rank表中存在的rank的名稱。我已經通過了crewId作爲參數,並在此基礎上該方法將返回該特定船員Member.This的排名是我的代碼怎麼是 -不能將類型System.Linq.IQueryable <string>隱式轉換爲字符串

 public string GetRank(int CrewId) 
     { 

     string rank = (from r1 in context.Rank 
      join r2 in context.CrewMember on r1.RankId equals r2.RankId 
      where r2.CrewId == CrewId 
      select r1.RankName); 

     return rank; 
     } 

當我建立的代碼,我收到以下錯誤 -

不能將類型System.Linq.IQueryable隱式轉換爲字符串

我在哪裏出錯了?

回答

12

你應該使用FirstOrDefault或的SingleOrDefault:

public string GetRank(int CrewId) 
{  
    string rank = (from r1 in context.Rank 
     join r2 in context.CrewMember on r1.RankId equals r2.RankId 
     where r2.CrewId == CrewId 
     select r1.RankName).SingleOrDefault(); 

    return rank; 
} 
+1

或第一個或單 – ErikEJ

相關問題