Dapper FluentMap:名称为“ Date”的属性无法映射

时间:2018-07-17 06:43:47

标签: dapper dapper-fluentmap

我遇到了Dapper FluentMap(1.60版)的问题,我不知道如何解决。如果.NET类中的相应属性具有“日期”名称,则Dapper似乎无法映射表中的列。

我在DB中有该表(如果有问题,我正在使用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:值不能为null。参数名称:meth

如果我将Date中的MyEntity属性重命名为DtJustDate之类的其他东西-一切正常。 Dapper Fluent Map中是否有这样的限制(不允许给与数据库中数据类型名称相同的属性命名)? 如果是这样,是否有可能以某种方式克服它?因为在我的情况下,在MyEntity

中重命名属性有点问题

1 个答案:

答案 0 :(得分:1)

是的,唯一的解决方案是将实体属性Date更改为其他名称。