【发布时间】:2012-12-11 18:13:02
【问题描述】:
所以我试图通过一个 int var 对查询进行排序,该 int var 位于相同 int var 的有序列表中;例如查询必须按项目的列表顺序排序。每个数据上下文都来自不同的数据库,这就是我将第一个查询变成基于宠物名称顺序的有序 id 列表的原因,第二个查询的数据字段中只有宠物 id 可用,查询看起来像:
using (ListDataContext syndb = new ListDataContext())
{
using (QueryDataContext ledb = new QueryDataContext())
{
// Set the order of pets by name and make a list of the pet id's
var stp = syndb.StoredPets.OrderBy(x => x.Name).Select(x => x.PetID).ToList();
// Reorder the SoldPets query using the ordered list of pet id's
var slp = ledb.SoldPets.OrderBy(x => stp.IndexOf(x.petId)).Select(x => x);
// do something with the query
}
}
第二个查询给了我一个“方法 'Int32 IndexOf(Int32)' 没有支持的 SQL 转换”。错误,有什么方法可以做我需要的吗?
【问题讨论】:
-
.Select(x => x)什么都不做,可以省略。 -
只要在本地进行排序,一旦数据在内存中......