while (dataReader.Read())
{
Partners.Add(new Partner {
Id = dataReader.GetGuid(0),
Name = dataReader.GetString(1),
Email = dataReader.GetString(2),
Finished = dataReader.GetInt32(3) == 1
});
}
}
行Id = dataReader.GetGuid(0),
我驗證過都Id
和dataReader.GetGuid(0)
的類型Guid
的,如果你能相信這一點。
Id
是Guid
型的,因爲它是從
public class Partner
{
public Guid Id { get; set; }
public string Name { get; set; }
public string Email { get; set; }
public bool Finished { get; set; }
}
和dataReader.GetGuid(0)
一個字段是Guid
類型的,因爲當我做
public class Partner
{
//public Guid Id { get; set; }
public string Id { get; set; }
public string Name { get; set; }
public string Email { get; set; }
public bool Finished { get; set; }
}
和
Id = dataReader.GetString(0)
我得到的錯誤
無法投類型的對象的System.Guid爲鍵入 'System.String'
是沒有意義的!
編輯:它看起來我得到我們的價值觀,當我鍵入含蓄:
你在遊標中有* null * s嗎?什麼'dataReader.GetValue(0).GetType()'返回? –
可能的方式:'Id = new Guid(Convert.ToString(dataReader.GetValue(0)))' –
'dataReader'的0列數據可能無法轉換爲'Guid'。看到http://stackoverflow.com/questions/27699781/specified-cast-is-not-valid –