Dapper-dot-net "列名なし"

dapper

質問

結果セットは次のようになります。

ID    (no column name)  anotherID
----  ----------------  ----------
1        super            3
1        super            4
3        duper            6
4        really           7
4        really           8

私は2つの問題があります:

まず 、名前のないカラムでdapperを使うには?

Second:親の子関係を持っていて、それぞれanotherIDのリストを持つ3つのオブジェクトを取得したいとします。

public class MyObject
{
   public int ID
   public string Name
   public int[] Children
}

受け入れられた回答

まあ、名前のない列は、dapperによってサポートされていません。私は本当にそれらの理由を見たことはありません。

私は次のことをサポートすることができると思う:

class Foo { [ColumnNumber(1)] public string Name {get;set;} }

問題は、私が強く嫌うクエリの非常に壊れやすいメソッドを導入するということです。 Queryへのディレクティブを渡すことはまるで厄介です。

しかし、あなたが結果を得る方法を変更して喜んでいるなら、これを回避することができます。

var grid = QueryMultiple(@"set nocount on 
declare @t table(Id int, Name nvarchar(max), AnotherId int)

insert @t
exec proc

set nocount off 
select Id, Name from @t
select Id, AnotherId from @t
");

次に、マルチマップにこのテクニックを使用します。オブジェクト階層を作成するためのマルチマッパー



ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ