bugfix> c# > 投稿

私のようなオブジェクトがある場合

class Thing
{
 public string A { get; set; }
 public string B { get; set; }
 public string C { get; set; }
 public string D { get; set; }
}

Dapperは以下と非常にうまく機能します。

return conn.QuerySingle<Thing>(
    @"SELECT A, B, C, D
      FROM [Thing] WHERE Id = @id", new { id });

しかし、クラス構造が

class Thing
{
 public string A { get; set; }
 public string B { get; set; }
 public IEnumerable<Stuff> { get; set; }
}
class Stuff
{
 public string C { get; set; }
 public string D { get; set; }
}

Enumerableが常にEnumerableに1つのアイテムを含むと仮定して、Dapperをその構造にマッピングするにはどうすればよいので、実際には同じデータを異なる方法で表しているだけです。

私が見たDapperチュートリアルは非常に複雑で、サブクエリが含まれていますが、新しい構造にマップする必要のあるすべてのデータを既に返すため、クエリは変更しないのが理想的です。

何か案は?