It is clear that your
BoardPost post = dc.BoardPosts...
line is returning null so your
result.Account = post.Account
is failing with post being null.
Whenever you do something to get an object back, always ensure that the object exists before trying to use it.
if( post != null )
result.Account = post.Account;
As to the syntax of the linq, I don't see anything wrong with it off the top of my head.