2010-12-16 229 views
0

使用VS2008 & .NET 3.5。我收到一條錯誤消息「找不到源類型查詢模式的實現'xxx.BuildingsDataTable'。'Where'找不到。請考慮顯式指定範圍變量'building'的類型。(xxx是一個名稱空間)LINQ鍵入數據集時出錯。 「找不到源類型查詢模式的實現..」

我的LINQ查詢:

var query = from building in buildingDS.Buildings 
          where building.BuildingID == 1 
          select new { building.Name }; 

buildingDS是類型化的DataSet VS智能感知可以,但buildingDS無法智能感知建築(buildingID &名稱顯示爲紅色),我不得不System.Data引用。 Linq,System.Data.DataSetExtensions & System.Core。EnforceConstraints數據集= true。我嘗試將構建轉換爲dataRow類型,但它不起作用。我要做'建設'。

如何獲得查詢編譯?

回答

1

確保您的類型數據集已由新的.Net 3.5生成器處理。
每個表類應繼承TypedTableBase<TRow>

如果您的表類繼承DataTable直接重新生成類型的數據集。

此外,請確保您的代碼文件包含using System.Data

+0

謝謝。儘管WSDL生成的類型化數據集不支持TypedTableBase。數據集是常規數據集。它們在WCF中支持,但不支持asmx。所以我想我不能使用LINQ來輸入數據集。 – 2010-12-16 20:42:10

+1

@Tony:你仍然可以在建築物中編寫''BUILDDS.Buildings.Rows.Cast ()'。你可以用每個表的擴展方法來包裝它。 – SLaks 2010-12-16 21:01:38

相關問題