オブジェクトのシーケンスが 2 つあります。つまりMessages
、Message
オブジェクトNewsflashes
用とNewsflash
オブジェクト用です。
どちらも Entity Framework ADO.NET Entity Model から派生します。モデルの図は次のとおりです。
ご覧のとおり、 はNewsflash
から継承していMessage
ます。ただし、コントローラーで生成されたインデックスは何らかのエラーが発生したため、正しいシーケンスをビューに渡すために手動でクエリを実行する必要があります。
テーブルには 1 つの列しかありません。Newsflash
これは Id であり、同時にMessage
Id への外部キーです。LINQでこのようにクエリしたいSELECT * FROM MESSAGE WHERE ID IN (SELECT ID FROM NEWSFLASH)
これまでのところ、次のようなことを試しました。
var message = Messages.Where(x => x.Id == Newsflash.Any(y=>y.Id))
しかし、intをboolに変換できないというエラーが発生しています。私は何を間違えましたか?特にリストからのネストされた選択はLINQでどのように処理されますか? シーケンス内の要素にアクセスするにはどうすればよいですか。この場合Newsflash
、IDを個別に取得できるようにしますか?