您正在尝试将不同类型的值分配给
query
变量。这样怎么样:
public static IQueryable QueryItems(string param1, string param2, string param3)
{
var query = dataMap.tbl_ItemMap
.Join(dataSet.Tables["tbl_Resource"].AsEnumerable(),
q => q.OriginalResourceID,
r => r.Field<int>("ResourceID"),
(q, r) => new { q, r });
...
编辑
一旦同时发生多个连接,使用上面的方法语法可能会变得很乏味。您可能希望切换到查询语法以使事情更简单。结果可能是这样的:
var query = from i in dataMap.tbl_ItemMap
join r in dataSet.Tables["tbl_Resource"].AsEnumerable()
on i => i.OriginalResourceId equals r.Field<int>("ResourceId")
join t in dataSet.Tables["tbl_Type"].AsEnumerable()
on i => i.TypeId equals t.Field<int>("TypeId")
...
select new {
Origin = r.Title,
Type = t.Title,
...
};