Конструктор для ClientGroupDetails
не принимает Nullable<DateTime>
(он же DateTime?
) - он принимает плоский DateTime
. Вам нужно либо изменить то, что использует ClientGroupDetails
, либо подумать о значении по умолчанию (может быть DateTime.MinValue
).
Например ::
client_group_details.Add(new ClientGroupDetails(
reader.IsDBNull(Col2Index) ? DateTime.MinValue : reader.GetDateTime(Col2Index),
reader.IsDBNull(Col3Index) ? null : reader.GetString(Col3Index),
reader.GetInt32(Col4Index)));
Или сохраните существующий код считывателя и измените POCO:
public class ClientGroupDetails
{
public DateTime? Col2;
...
public ClientGroupDetails(DateTime? m_Col2, ...
{
Col2 = m_Col2;
...
}
...
}
В качестве альтернативы - используйте инструмент типа "dapper", который сделает все за вас:
var list = connection.Query<ClientGroupDetails>(
@"select col2, col3, col4 from table1 where col1 = @phrase",
new {phrase}).ToList();