我有一個快速linq問題。我有一個應該返回一行數據的存儲過程。我想用lambda來構建一個對象。這是我目前正在做的工作,但我知道我應該能夠使用First而不是Select,除非我似乎無法得到正確的語法。任何人都可以把我拉直嗎?謝謝你的幫助。如何使用linq從1行數據構建對象?
var location = new GeoLocationDC();
DataSet ds = db.ExecuteDataSet(dbCommand);
if(ds.Tables[0].Rows.Count == 1)
{
var rows = ds.Tables[0].AsEnumerable();
var x = rows.Select(
c => new GeoLocationDC
{
Latitude = Convert.ToInt32(c.Field<string>("LATITUDE")),
Longitude = Convert.ToInt32(c.Field<string>("LONGITUDE"))
}).ToList();
if(x.Count > 0)
{
location = x[0];
}
乾杯, 〜CK }
我想通了,我想要的東西而不是ToList()的,我應該使用。首先()這給了我我想要的結果。 var rows = ds.Tables [0] .AsEnumerable(); 位置= rows.Select(C =>新GeoLocationDC { 緯度= Convert.ToInt32(c.Field( 「緯度」)), 經度= Convert.ToInt32(c.Field ( 「經度」)) } )。第一(); PS我喜歡。任何建議。我以前沒有用過。謝謝! –
Hcabnettek
2010-06-17 15:23:51
您實際上並不需要使用「選擇」 - 請確保在關閉問題前閱讀答案。 – 2010-06-17 15:27:07
更好的問題是,如果你只有一行你想創建一個對象,爲什麼要使用LINQ呢?不必要的管道,伊莫。 – Marc 2010-06-17 15:39:01