4

Rank と CrewMembers という名前の 2 つのテーブルがあります。CrewMember の ID に基づいて、Rank テーブルに存在するランクの名前を取得したいと考えています。その特定の乗組員のランク。これが私のコードです-

       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 型を文字列に暗黙的に変換できません

どこが間違っているのですか?

4

1 に答える 1

13

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;
 }
于 2013-11-09T11:38:33.533 に答える