我有以下代碼:DbDataReader自己關閉?
var entityConnection = (System.Data.EntityClient.EntityConnection)c.Connection;
DbConnection conn = entityConnection.StoreConnection;
ConnectionState initialState = conn.State;
List<Jobs> list = new List<Jobs>();
int id = 0;
try
{
if (initialState != ConnectionState.Open)
conn.Open();
using (DbCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
reader = cmd.ExecuteReader();
int count = 0;
while (reader.Read())
{
id = int.Parse(reader[0].ToString());
list.Add(db.Jobs.Where(x => x.JobId == id).First());
//count++;
//if (count == 150) break;
reader.NextResult();
}
}
}
,我也得到一個錯誤說:「system.invalidoperationexception:無效試圖調用NextResult當讀取器已關閉」
但事情是我還沒有關閉的讀者,但是當我刪除此行:
list.Add(db.Jobs.Where(x => x.JobId == id).First());
然後一切正常!但是這對我來說是無用的,因爲我需要從閱讀器填充一個列表對象,如果我不能這樣做 - 那麼我就無法讀取表格了! (PS我避免SqlDataReader對象,並使用實體框架作出上述呼籲使用dbdatareader與我同它相關聯)
這是我的實體對象 - 但我刪除此,而是試圖使通用int類型的列表,然後做list.Add(ID);在那一行代替,但仍然有同樣的問題:-s – David 2009-11-07 19:11:41
任何人都可以幫忙嗎? – David 2009-11-07 19:19:50