私はLINQで最初のステップを実行しています。LINQ to SQL を使用して、比較的単純なクエリを作成しようとしています。これは、肺と乳腺に腺癌があるマウスを指定すると、マウスの腫瘍を返し、次のようにフォーマットされたグリッドビューで表示する準備ができています
| | 腺癌 | 肺、乳腺、 |
この回答の例と同様に、クエリを書きました
var tumors = from tumor in dc.Tumors
where tumor.FK_Mouse == mouse.ID
select new
{
Name=tumor.Name,
Organs=string.Join(", ", tumor.Organs.Select(t => t.Name))
};
私が得るのはエラーです。元のテキスト (私の IIS はドイツ語にローカライズされています) は次のとおりです。
Der Elementzugriff "System.String Name" von "ToyApp.Organ" ist für den Typ "System.Collections.Generic.IEnumerable`1[ToyApp.Organ]" nicht zulässig.
元のエラーへの翻訳が見つかりませんでした。それを翻訳する私の最善の試みは次のとおりです。
「ToyApp.Organ」の要素アクセス「System.String Name」は、タイプ「System.Collections.Generic.IEnumerable`1[ToyApp.Organ]」に対して許可されていません
臓器名を結合しようとする代わりに Organs=tumor.Organs を選択すると、すべてが正常に機能し、各腫瘍の臓器のコレクションを取得しているため、ORM ではなく連結に問題があるはずです。
ドイツ語のエラー メッセージをグーグル検索しても結果はまったく見つかりません。また、私の逆翻訳も見つかりません (元の文言からかけ離れすぎている可能性があります)。
これを引き起こしているアイデアはありますか?