我試圖使用LINQ行從列值遍歷在一個DataTable,並實例化對象。下面顯示了棘手的代碼。「無法解析符號選擇」嘗試使用LINQ與DataRowCollection
的問題是,代碼將無法編譯。惡意錯誤消息是「無法解析符號選擇」。我很滿意DataRowCollection實現IEnumerable(它從System.Data.InternalDataCollectionBase中獲取它),所以你會認爲下面沒有問題(顯然,我錯了那個計數)。
我已經包含System.Linq的System.Data和System.Data.SqlClient在我的項目。它也有所有必要的參考。我之前一直在使用LINQ(主要是使用POCO和XDocuemnts列表),這是我第一次看到這個特定的消息。
如何解決它有什麼建議?
using (var command = connection.CreateCommand())
{
command.CommandText = "dbo.sp_pTicklerContacts_sel_W_ContactRole_by_ComKey";
command.CommandTimeout = 120;
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add("@iComKey", SqlDbType.Int).Value = companyKey;
using (var adapter = new SqlDataAdapter(command))
{
var dataset = new DataSet();
adapter.Fill(dataset);
if (dataset.TableCount() > 0 && dataset.Tables[0].Rows.Count > 0)
{
return (from row in dataset.Tables[0].Rows
select new TicklerContact
{
CompanyKey = row.ToInt32("iTicklerContact"),
Contact = row.ToString("ccontact"),
ContactKey = row.ToInt32("iconkey"),
TicklerContactKey = row.ToInt32("iTicklerContactKey"),
Role = row.ToString("contactrole"),
Exists = row.ToBool("contactexists")
}).ToList();
}
return null;
}
}
你得到一個線突出顯示錯誤消息? – 2011-01-12 18:45:28