2012-12-04 53 views
0

好吧我卡住了。我有一個擁有「USER」實體,「CLUB」實體和「MEMBERSHIP」實體的模型。 「MEMBERSHIP」實體是「USER」到「CLUB」的關聯。用戶可以有很多俱樂部,俱樂部可以有很多用戶。DBContext和Navigational屬性

我不知道如何獲得特定用戶的俱樂部列表。

我只是找不到一個關於如何構建這個查詢的好例子。

我似乎有問題,因爲導航屬性是一個集合。

任何人都可以指出我在正確的方向,謝謝。

回答

1

這取決於Membership表。如果表只是簡單關聯,其用戶名和ClubId,然後Membership實體將不會產生,你應該查詢是這樣的:如果聯想不是那麼簡單,那麼就會產生Membership實體

var clubs = context.Users 
        .Where(u => u.Id == id) 
        .SelectMany(u => u.Clubs); 

,並你應該通過會員導航到俱樂部,像這樣:

var clubs = context.Users 
        .Where(u => u.Id == id) 
        .SelectMany(u => u.Memberships) 
        .Select(m => m.Club);