Dapper FluentMap: свойство с именем 'Date' не может быть отображено
Я столкнулся с проблемой с Dapper FluentMap (версия 1.60), которую не знаю, как исправить. Похоже, что Dapper не может сопоставить столбец из таблицы, если соответствующее свойство в классе.NET имеет имя "Дата".
У меня есть таблица в БД (я использую MS SQL, если это имеет значение) с колонкой Dt
из Date
тип.
Существует сущность со свойством DateTime:
public class MyEntity {
public DateTime Date { get; set; }
}
и соответствующее отображение:
public class MyEntityMapper : EntityMap<MyEntity> {
public MyEntityMapper() {
Map(p => p.Date).ToColumn("Dt");
}
}
Когда я пытаюсь получить данные из БД и сопоставить с MyEntity
Я получаю следующую ошибку:
ArgumentNullException: значение не может быть нулевым. Имя параметра: мет
Если я переименую Date
недвижимость в MyEntity
к чему-то другому, как Dt
или же JustDate
- все работает отлично. Есть ли такое ограничение в Dapper Fluent Map (не разрешается давать имя свойству, равному имени типа данных в БД)? Если да, то можно ли это как-то побороть? Потому что в моем случае переименовать свойство в немного проблематично MyEntity
1 ответ
Да, вы правы, единственное решение, которое вы можете сделать, - это поменять свой объект Date на другое имя.