次のデータを取得するためにデータベース呼び出しを1つ作成したいと思いますが、LINQの外観を把握していません。ADO.NETエンティティで1つのデータベースヒットのレコードとすべての子レコードを取得するにはどうすればよいですか?
- すべての写真を、特定のフォトギャラリーから:
-
あなたは、私が取得する上で見ることができるように
var photos = from photo in entitiesContext.Photo join pg in entitiesContext.PhotoGallery on photo.PhotoGallery.PhotoGalleryID equals pg.PhotoGalleryID where pg.PhotoGallery == photoGalleryID select photo; var photoList = photos.ToList(); foreach (var photoForLoading in photoList) { photoForLoading.UserReference.Load(); photoForLoading.PhotoComments.Load(); foreach (var comment in photoForLoading.PhotoComment) { comment.UserReference.Load(); } } return photoList;
:ここに私の現在の実装(私はそれが悪いことを知っている!)ですそれぞれの写真に
- ユーザの詳細各写真
- 日に
- コメント各コメント
私はADO.NETエンティティフレームワークとLINQでこれをどのように行うのですか上のEのユーザの詳細?
乾杯、 灰。
これは、SQLサーバーに送信された1つのSQLステートメント(いくつかの内部結合を含む)が発生すると想定していますか?また、写真にコメントが含まれていない場合は、左外部結合のいくつかの形式を行う必要がありますか? – Ash
いいえコメントがある場合は値を、コメントがない場合はNULLを取得します。ヌルが十分であることを確認してください。 – mhenrixon