Ошибка Dapper.FluentMap для обнуляемого десятичного числа - PullRequest
0 голосов
/ 29 октября 2018

Я искал простой способ сопоставления свойства класса со столбцом таблицы, и я обнаружил, что Dapper свободно использует карту, и я подумал, что это будет отличной альтернативой значительному стандартному коду, который нужно будет написать просто для отображения свойство столбца. Но, похоже, это не работает.

FluentMapper.Initialize(c =>
{
    c.AddMap(new MarginSummaryMap());
});

[Serializable]
[Table("PbCash")]
public class MarginSummary : Entity
{
    public long RunId { get; set; }
    public DateTime? BusinessDate { get; set; }
    [Write(false)]
    public DateTime ProcessDate { get; set; }
    public string Broker { get; set; }
    public string BrokerAccountId { get; set; }
    public string Account { get; set; }
    public string Folio { get; set; }
    public decimal? ActualExcessOrDeficit { get; set; }
    [Write(false)]
    public decimal? ProjectedExcessOrDeficit { get; set; }
    public string Comment { get; set; }
}

public class MarginSummaryMap : EntityMap<MarginSummary>
{
    public MarginSummaryMap()
    {
        Map(c => c.ActualExcessOrDeficit).ToColumn("ExcessOrDeficit");
    }
}

Затем, когда я пытаюсь сохранить данные, я получаю исключение, что столбец ActualExcessOrDeficit не существует в таблице. Ну, это не так, и сопоставление предполагается преобразовать в фактический столбец ExcessOrDeficit.

Похоже, что это ошибка в Dapper.FluentMap, поскольку проблема решается, если я меняю тип с decimal? на decimal.

Кто-нибудь имел эту работу - я хотел бы знать, как это исправить.

...