Dapper-Extensionsをチェックアウトすることもできます。
Dapperの拡張機能は、あなたのPOCOSのために(削除、挿入、更新を取得します) 基本的なCRUD操作を追加することにより、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 });
'私たちのデータベースには一貫した命名規則はありません。それは災害のための良いレシピです! :)遅かれ早かれ... – walther