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 на другое имя.

Другие вопросы по тегам