在C#中(对于ASP.net MVC应用程序)我希望对我的数据库中的数据执行OrderBy函数,但是我想将它基于关联的表值。这是一个简化的例子:
我的主要表格:
public class Person
{
public int Id { get; set; }
public int ContactId { get; set; }
}
以及相关的联系人表
public class Contact
{
public int Id { get; set; }
public string FirstName{ get; set; }
public string LastName { get; set; }
}
目前我可以获得所有Person条目的列表,如下所示:
sortList = db.People.ToList();
我对主表中的某个东西排序sortList没有问题,比如说ContactId,但我想按关联表排序。
我想通过关联的姓氏(来自Contact表)对sortList进行排序,其中Person.ContactId = Contact.Id
。我很可能想使用OrderBy
函数。我该如何做到这一点?
答案 0 :(得分:1)
这很有效,我不确定它是否是最有效的方式:
var personList = from i in db.Person
join o in db.Contacts
on i.ContactId equals o.Id
orderby o.LastName
select i;
List<Person> peopleList = personList.ToList();