我一直在寻找一种将类属性映射到表列的简单方法,我发现 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
.
有没有人有这个工作 - 我很想知道如何解决这个问题。