dapper 拡張機能を使用していますが、クラス マッパーについて質問があります。残念ながら、私のテーブルのほとんどは、異なるスキーマなどのマッピングを行う必要があります。
したがって、私は通常、以下のように DefaultMapper を頻繁に交換していることがわかります。
public Hierarchies HierarchyGetByName(string aName)
{
Hierarchies result;
using (SqlConnection cn = GetSqlConnection())
{
cn.Open();
Type currModelMapper = DapperExtensions.DapperExtensions.DefaultMapper;
try
{
DapperExtensions.DapperExtensions.DefaultMapper = typeof(HierarchiesMapper);
IFieldPredicate predicate = Predicates.Field<Hierarchies>(f => f.Name, Operator.Eq, aName);
result = cn.GetList<Hierarchies>(predicate).FirstOrDefault();
}
finally
{
DapperExtensions.DapperExtensions.DefaultMapper = currModelMapper;
}
cn.Close();
}
return result;
}
たとえば、2 つのテーブルにアクセスする場合、これを 2 回行う必要があります。
コレクションと言うためにすべてのマッパークラスを一度に追加する方法はありますか?アクセスされているテーブルに応じて、正しいものが選択されますか?