특정 게시물에 대한 의견을 얻으려는 블록이 있습니다. MVC 3 및 VBNET 사용. 게시물 URL은/Blog/Post/1과 같습니다. 문제없이 게시물을 표시 할 수 있지만 Comments 테이블에서 PostId = 1에 대한 의견을 가져와야합니다. 나는 Linq에 내부 문을특정 게시물에 대한 모든 댓글을 검색하는 방법은 무엇입니까?
Dim results = From P In _rdsqlconn.Posts Where P.PostId = id Join c In _rdsqlconn.Comments On P.PostId Equals c.PostId Select P
Public Class RDSQLConn
Inherits DbContext
Public Sub New()
End Sub
Property Posts As DbSet(Of Post)
Property Categories As DbSet(Of Category)
Property Comments As DbSet(Of Comment)
End Class
에 가입하려고하지만 예외 :
`Unable to cast object of type 'System.Data.Entity.Infrastructure.DbQuery`1[RiderDesignMvcBlog.Core.Entities.Post]' to type 'RiderDesignMvcBlog.Core.Entities.Post'.`
그러나 SQL 쿼리를 같은 사람이 아래에 잘 작동한다. 나는이 SQL 문을 내 EF로 전달할 수 있습니까?
Select * From Posts INNER JOIN Comments on dbo.Posts.PostId = Comments.PostId where dbo.Posts.PostId = 1
왜 당신이 직접 참여 실행 할 ? 여러분의 게시물이 네비게이션 속성과 정확하게 매핑 되었다면 코멘트를로드하기 위해 eager loading ('Include') 메소드를 사용할 수 있습니다. –
@LadislavMrnka, 내비게이션 속성은 edmx 파일이있는 경우에만 작동합니까? 난 그냥 내 엔터티 및 DBContext 클래스가 있습니다. –
안녕하세요. 오랜만이야. 나는 네비게이션 속성, 유창한 매핑 및 물건에 대해 알아 냈다고 가정합니다. –