You could return an IDbSet<Book> from your GetTable method: private IDbSet<Book> GetTable(string lang) { return lang == "fa" ? (IDbSet<Book>)db.Books_fa : (IDbSet<Book>)db.Books_en; } Now you will have all the OrderBy, ToList, ... method at your disposal on the result of this method so that you can continue filtering the results...

Well, it would be very ineffective for you to write a different html page for each language. If the project is small and won't expand in the future it should do the trick but it definitely isn't the smart way. Imagine having a 1000 page website. I would suggest that...