0

我有以下代码

class Program 
{
static void Main(string[] args)
{

    static void Main(string[] args)
    {
       DapperExtensions.DapperExtensions.DefaultMapper = typeof(CodeCustomMapper);

    string sql = "select UserID,Name as SName , Email ,Email as wmail from dbo.[User]";

       using (SqlConnection connection = new SqlConnection(conn))
        {
                         var result = connection.Query<User>(sql
                , commandType: CommandType.Text);

                        }

               }
      }




public class CodeCustomMapper: ClassMapper<User>
{

    public CodeCustomMapper()
    {

        base.Table("User");
        Map(f => f.UserID).Key(KeyType.Identity);
        Map(f => f.Name).Column("SName");
        Map(f => f.Name).Column("TName");
        Map(f => f.EmailID).Column("wmail");
        Map(f => f.EmailID).Column("Email");
    }
}

手动映射列的输出为 NULL。即使我已经分配了默认映射器。是写方式吗?

使用实体属性手动映射数据库列的任何其他方式?

请问有人可以帮忙吗

4

1 回答 1

2

看起来您只是使用了错误的扩展方法。

Dapper Extensions 是一个小型库,通过为您的 POCO 添加基本的 CRUD 操作(获取、插入、更新、删除)来补充 Dapper。

尝试使用connection.Get<User>

于 2012-12-17T17:45:47.733 回答