2

我正在尝试返回项目列表(vwProposedMigrations),其中 vwProposedMigrations 的 DeptCode用户有权管理的部门列表中。

结果包含一个部门代码字符串列表。这些已通过较早的 entityQuery 加载并正确返回。

var result = (from r in wtps.Schedule_Owner_DeptCode_Mappings select r.DeptCode).ToList();
var data = wtps.GetVwProposedMigrationsQuery().Where(x=>result.Contains(x.DepartmentCode));
LoadOperation dataLoad = wtps.Load<vwProposedMigration>(data);
dataLoad.Completed += new EventHandler(LoadvwProposedMigrationsOperation_Completed);

但收到此错误:

'System.Collections.Generic.List 1[System.String]' cannot be serialized as part of the query. 'System.Collections.Generic.List1[System.String]' 类型的值不是受支持的类型。

我尝试使用 anObservableCollection和 astring[]来保存部门代码列表,但出现了同样的问题。我见过很多使用Contains的示例,但是这些示例在加载数据后对其进行操作,而不是限制初始查询。

我试图避免加载 vwProposedMigrations 的整个结果集,因为它大约有 38,000 行,所以我的目标是将查询限制为仅用户感兴趣的那些行。

谢谢米克

4

2 回答 2

0

请检查这个

var data = wtps.GetVwProposedMIgrationsQuery().Where(x=>result.Any(z=>z.DepartmentCode == x.DepartmentCode))
于 2013-07-10T08:29:20.983 回答
0

检查这个:

  var result = (from r in wtps.Schedule_Owner_DeptCode_Mappings select r.DeptCode);
  var data = wtps.GetVwProposedMigrationsQuery().Where(x=>result.Contains(x.DepartmentCode));
于 2013-07-10T08:13:00.613 回答