Dapper-Extensionsも確認できます 。
Dapper Extensions は、POCO に基本的な CRUD 操作 (Get、Insert、Update、Delete) を追加することで Dapper を補完する小さなライブラリです。
カスタム フィールド マッピングを指定できるauto class mapperがあります。例えば:
public class CodeCustomMapper : ClassMapper<Code>
{
public CodeCustomMapper()
{
base.Table("Codes");
Map(f => f.Id).Key(KeyType.Identity);
Map(f => f.Type).Column("Type");
Map(f => f.Value).Column("Code");
Map(f => f.Description).Column("Foo");
}
}
次に、次のようにします。
using (SqlConnection cn = new SqlConnection(_connectionString))
{
cn.Open();
var code= new Code{ Type = "Foo", Value = "Bar" };
int id = cn.Insert(code);
cn.Close();
}
カスタム マップを POCO クラスと同じアセンブリに保持する必要があることに注意してください。ライブラリはリフレクションを使用してカスタム マップを検索し、1 つのアセンブリのみをスキャンします。
更新:
SetMappingAssemblies を使用して、スキャンするアセンブリのリストを登録できるようになりました。
DapperExtensions.SetMappingAssemblies(new[] { typeof(MyCustomClassMapper).Assembly });