Table join using the repository pattern
I don't do EF, so I am focusing on the code only. But nevertheless maybe this will help you in doing joins with EF: how-to-join-multiple-tables-using-repository-pattern-entity-framework  


Based on the naming guidelines input parameters should be named using camelCase casing. So 


public List&lt;int&gt; GetUserPrevileges(string UserName)  



should be  

public List&lt;int&gt; GetUserPrevileges(string userName)


The same is true local varaiables like Privs but in addition you shouldn't shorten your varaiables names because you are reducing the readability of your code. So better use privileges instead of Privs.  
This if..else  


if (Privs.Any())
{
    return Privs.ToList();
}
else
{
    return null;
}



does not add real value. Why do you want to return null? It would be much easier for the calling code if you return an empty List for the case that there aren't any privileges which match the requirement.  

If the IQuerable&lt;T&gt; doesn't contain any items, a call to ToList() will just create an empty list.  

If you use the returned List&lt;&gt; to just iterate over the items, you won't even need a check if it is empty.