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操作(Get、Insert、Update、Delete)を追加することでDapperを補完する小さなライブラリです。

使用してみてくださいconnection.Get<User>

于 2012-12-17T17:45:47.733 に答える