Я вызываю расширенную функцию Dapper Query
для класса IDbConnection
. Проблема в том, что некоторые значения, которые он возвращает, NULL
в базе данных. Он продолжает жаловаться на них, поэтому я конвертировал членов моего возвращаемого класса в обнуляемые типы. Но я думаю, что в конечном итоге я могу сделать это почти для каждого участника, потому что данные часто неполные. Это изменяется по сравнению со старым кодом, который использует класс DataRow
и может назначать из него пустые значения для string
членов моего возвращаемого класса без каких-либо проблем, используя только ToString
.
public class ProductInfo
{
public Char Department { get; set; }
}
Это работает:
ProductInfo myProduct = new ProductInfo{};
myProduct.Department = dataRow["department"].ToString();
dataRow["department"]
отображается как {}
, а myProduct.Department
отображается как ""
.
Это дает исключение:
List<ProductInfo> myProduct = new List<ProductInfo>();
myProduct = dbConnection.Query<ProductInfo>(command, parameters).ToList();
С ошибкой: Error parsing column 1 (department=<null>) Details: System.ArgumentNullException: Value cannot be null
Я пропустил шаг в процессе, который Dapper использует для присвоения значений? Или с ним широко применяется стандартная практика типов nullable?