2017-03-18 8 views
1

私の親クラスがこんにちは、私はここにLINQ</p> <p>によって子供と子供のオブジェクトが含まれるようにしようとしている子オブジェクトが一覧表示されていない場合、子と子のオブジェクトが含まれていたり、コレクション

ある
public class SharePost : BasePost 
{ 
    public Address Address { get; set; } 

    public ICollection<Picture> Pictures { get; set; } 
} 

ここに私の子クラスであります基本的には「住所」

public class Address 
{ 
    public SharePost SharePost { get; set; } 
    public int PostId { get; set; } 

    public Place Place { get; set; } 
    public int PlaceId { get; set; } 

    public Suburb Suburb { get; set; } 
    public int SuburbId { get; set; } 
} 

これは、SharePostAddressは1対1の関係です。それらは同じプライマリキー値を持ちます。次に、SharePostオブジェクトをロードするときにPlaceSuburbオブジェクトを含めるとします。だからこのようにしてみた

public SharePost GetFullSharePost(int postId) 
{ 
    return DataContext.SharePosts.Include(m => m.Address.Select((a => a.Suburb)) && (a => a.Place)) 
} 

しかし、Address.Select()は機能しません。 Asp.netはアドレスのSelect()メソッドを認識しません。 Select()はListまたはICollectionでのみ動作しますか?次にSharepostオブジェクトをロードするときに、PlaceSuburbオブジェクトをAddressに含めるにはどうすればよいですか?

答えて

2

コレクションを含める場合は、Selectを使用する必要があります。代わりにこれを試してください:

return DataContext.SharePosts 
    .Include(x => x.Address.Suburb) 
    .Include(x => x.Address.Place); 
関連する問題