我有一個查詢,我對數據庫運行,我可以看到有一個記錄爲31/05/2013。當我運行從C#與ADO.NET此查詢,然後使用下面的代碼,我缺少的紀錄31/05/2013Casting Ado.net DataReader給IDataRecord給出奇怪的結果
var timeSeriesList = new List<TimeSeries>();
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
timeSeriesList = reader.Cast<IDataRecord>()
.Select(r => new TimeSeries
{
MidRate = (double)r["MidRate"],
RiskFactorName = (string)r["RiskFactorName"],
SeriesDate = (DateTime)r["SeriesDate"]
}).ToList();
}
}
但是,如果我用這個代碼相同的查詢:
var timeSeriesList = new List<TimeSeries>();
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
var timeSeries = new TimeSeries
{
MidRate = (double)reader["MidRate"],
RiskFactorName = (string)reader["RiskFactorName"],
SeriesDate = (DateTime)reader["SeriesDate"]
};
timeSeriesList.Add(timeSeries);
}
}
...然後在31/05/2013的記錄是在收集 - 爲什麼會第一個代碼塊給這個結果呢?
您的意思是重新創建第二個While循環內的變量時間序列例?我假設一個錯字? – Dave
其他領域他們有什麼價值?丟失的記錄 –
@DaveRook,是的,對不起,這是一個錯字 – christiandev