这是我的(简化的)代码:
控制器
var userQuery = from u in _db.Users
                where u.Username.ToLower().Contains(search.ToLower())
                    || u.FirstName.ToLower().Contains(search.ToLower())
                    || u.LastName.ToLower().Contains(search.ToLower())
                select u.FirmID;
var query = from f in _db.Firms
            where f.Name.ToLower().Contains(search.ToLower()) 
                || f.Keyword.ToLower().Contains(search.ToLower()) 
                    || f.KeywordList.ToLower().Contains(search.ToLower())
                    || userQuery.Contains(f.ID)
            select f;
// order by firm name
query = query.OrderBy(f => f.Name);
用户模型
public class User
{
    [Key]
    public int ID { get; set; }
    public string Username { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public int FirmID { get; set; }
    [ForeignKey("FirmID")] 
    public virtual Firm Firm { get; set; }
}
公司模式
public class Firm
{
    [Key]
    public int ID { get; set; }
    public string Keyword { get; set; }
    public string KeywordList { get; set; }
    public string Name { get; set; }
    public virtual ICollection<User> Users { get; set; }
}
使用此代码,我得到与某个搜索字符串匹配的用户的公司列表。该列表按公司名称排序。我现在想做的,也是按用户姓氏排序。我怎样才能做到这一点?
现在:
- 公司
- 用户 b
 - 用户 a
 - 用户 c
 
 - 公司 b
- 用户 z
 - 用户 d
 
 
期望:
- 公司
- 用户 a
 - 用户 b
 - 用户 c
 
 - 公司 b
- 用户 d
 - 用户 z