1

我一直在寻找一种将类属性映射到表列的简单方法,我发现 Dapper fluent map 我认为这将是一个很好的替代方案,可以替代大量样板代码,只需编写即可将属性映射到一列。但这似乎不起作用。

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.

有没有人有这个工作 - 我很想知道如何解决这个问题。

4

0 回答 0