Dapper:失败映射时抛出错误

时间:2015-08-31 23:28:22

标签: dapper

如果Query方法无法在结果集中找到与返回列匹配的属性,是否有选项让dapper抛出错误? 例如:

public class Person{
  public String FirstName {get; set;}
  public String LastName {get; set;}
}
...
conn.Query<Person>("select FName, LName from Users");

尽管由于名称不匹配而没有传输数据,但上述情况不会引发任何错误。

如果没有,是否有理由不添加它?我的老式自制微型ORM做到了这一点,我想念这个功能,所以我考虑尝试添加它,但是如果有特定的设计决定已经消除它(即&#34;原始性能&#34; )。

2 个答案:

答案 0 :(得分:0)

我最终使用了一段称为SafeDapper的代码:

https://github.com/LarrySmith-1437/SafeDapper

答案 1 :(得分:-1)

不同的命名属性必须是手动映射。

安装Dapper.FluentMap NuGet package

手动制图

public class PersonMap : EntityMap<Person>
{
    public PersonMap()
    {
        // Map property 'FirstName' to column 'FName'.
        Map(p => p.FirstName)
            .ToColumn("FName");

        // Map property 'FirstName' to column 'FName'.
        Map(p => p.LastName)
            .ToColumn("LName");
    }
}

<强>初始化:

FluentMapper.Initialize(config =>
                       {
                           config.AddMap(new PersonMap());
                       });