2016-08-08 2 views
0

Api에서 로그인 한 사용자의 데이터를 검색하는 가장 좋은 방법은 무엇입니까? 모든 사용자의 데이터를 검색 할 수 있습니다.로그인 한 사용자의 데이터 가져 오기

'ApplicationDbContext'

public DbSet<Category> Categories { get; set; } 

'ApplicationUser'

public ICollection<Category> Categories { get; set; } 

내 저장소 : 위다시피

public class CategoryRepository : ICategoryRepository 
{ 
    private ApplicationDbContext _ctx; 

    public CategoryRepository(ApplicationDbContext ctx) 
    { 
     _ctx = ctx; 
    } 

    //to do 
    public IEnumerable<Category> GetAll(string username) 
    { 
     return _ctx.Users.First(...).Categories.Include(x => x.Tasks); 
    } 

    public IEnumerable<Category> GetAllForFromAllUsers() 
    { 
     return _ctx.Categories.Include(x => x.Tasks); 
    } 
} 

것은, 내가 확장 방법을 사용할 수 없습니다가 '포함 'ICollection에. 특정 사용자의 데이터를 검색하는 가장 좋은 방법은 무엇입니까?

+0

가입일

var users = _ctx.Users .Include(user => user.Categories) .ThenInclude(cat => cat.Tasks) .Where(u => u.username == "xx") .ToList(); 

이 _ctx.Users.Include (X => x.Categories) 좁은 방 (...) 분류를 시도; –

+2

아,하지만 다단계 의미! 죄송합니다 ... 다음 내용을 읽으십시오 : https://docs.efproject.net/en/latest/querying/related-data.html#including-multiple-levels –

+0

ICollection에 확장 방법 포함 – lucas

답변

0

시도해 볼 수 있습니까? . Loading Related Data

+0

예, 테스트했습니다. 이것이 바로 해결책입니다, tahnks – lucas

+0

도움이 됨 :) –

관련 문제