我遇到了Dapper FluentMap(版本1.60(的问题,我不知道如何解决。如果中有相应的属性,则Dapper似乎无法映射表中的列。NET类的名称为"Date"。
我在DB中有一个表(如果有关系的话,我使用MSSQL(,列Dt
为Date
类型。
有一个具有DateTime属性的实体:
public class MyEntity {
public DateTime Date { get; set; }
}
以及相应的映射:
public class MyEntityMapper : EntityMap<MyEntity> {
public MyEntityMapper() {
Map(p => p.Date).ToColumn("Dt");
}
}
当我试图从DB中获取数据并映射到MyEntity
时,我会得到以下错误:
ArgumentNullException:值不能为null。参数名称:甲基
如果我将MyEntity
中的Date
属性重命名为其他类似Dt
或JustDate
的属性,则一切都正常。Dapper Fluent Map中是否有这样的限制(不允许为属性指定与DB中的数据类型名称相等的名称(?如果是这样,有可能以某种方式克服它吗?因为在我的情况下,在MyEntity
中重命名属性有点问题
是的,你是对的,唯一能做的解决方案就是将实体属性Date更改为其他名称。