C# LINQ到类型化数据集时出错&引用;找不到源类型“”的查询模式的实现;
使用VS2008和.NET3.5。我得到一条错误消息:“找不到源类型的查询模式的实现”XXX。BuffudStDATAID“。”没有找到。请考虑显式指定范围变量“构建”’的类型。(XXX是命名空间) 我的linq查询:C# LINQ到类型化数据集时出错&引用;找不到源类型“”的查询模式的实现;,c#,linq,C#,Linq,使用VS2008和.NET3.5。我得到一条错误消息:“找不到源类型的查询模式的实现”XXX。BuffudStDATAID“。”没有找到。请考虑显式指定范围变量“构建”’的类型。(XXX是命名空间) 我的linq查询: var query = from building in buildingDS.Buildings where building.BuildingID == 1 sel
var query = from building in buildingDS.Buildings
where building.BuildingID == 1
select new { building.Name };
buildingDS是一个类型化数据集。VS可以智能感知buildingDS,但不能智能感知buildingDS(buildingID和Name为红色)。我有对System.Data.Linq、System.Data.DataSetExtensions和System.Core的引用。dataset=true的EnforceConstraints。我尝试将生成转换为dataRow类型,但无效。不确定它希望我对“生成”做什么
如何编译查询?确保新的.Net 3.5生成器已处理您的类型化数据集。
每个表类都应该继承
TypedTableBase
如果您的表类直接继承了数据表,请重新生成类型化数据集
另外,请确保您的代码文件包含
using System.Data
谢谢。尽管WSDL生成的类型化数据集不支持TypedTableBase。这些数据集是常规数据集。它们在WCF中受支持,但在asmx中不受支持。因此我想我不能使用LINQ来编写类型化数据集。@Tony:您仍然可以在buildingDS.BuildingI中从building编写ngs.Rows.Cast()
。您可以将其包装在每个表的扩展方法中。