それは実際にはまだデータを取り出していないからです。
(その時点ではまだデータベースに繋がっただけ)
その状態のまま、他の操作をしていると内容によってはデータベースとのリンクが切れる等の理由でエラーが出ます。
ToListすると、その後も動き続けるのはToListがLinqの命令の一種であり、その時点でデータベースとのコネクション→ただのデータの配列に変換されるからです。
ちょっと雑ですが、要約すると
取り出した直後のIEnumerableの状態→データベースと繋がってます(この時点ではまだデータを取得していません)
ToListした後の状態→データベースからデータ取ってきました(取ってきた後のデータはデータベースと連動しません。完全に独立したデータです)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/09/27 06:36
2016/09/27 07:11 編集
2016/09/27 07:15