0

バイト型のデータを選択する必要があるクエリがあります。

byte[] data

私の質問は次のとおりです。

private IEnumerable<dynamic> GetData(int fileID){
    return Connection.db.Query<dynamic>("select Data from [File] where id = @0",  fileID.ToString());
}

byte[] actual = file.GetData();

そして私は次のように長さを見つけたいです:

actual.Length

上記の問題は、長さを見つける必要があるのに、GetDataが実際の動的オブジェクトを返すことです。

データを取得してその長さを取得するにはどうすればよいですか?PetaPocoでbyte[]をクエリするより良い方法はありますか?

4

1 に答える 1

3

私はこれを試しました:

var d = db.Fetch<dynamic>("select id, data from bytetable");
foreach (var item in d)
{
     Console.WriteLine(item.id + "-" + Encoding.ASCII.GetString(item.data) + "-" item.data.Length);
}

ここで、bytetableは次のように定義されています。

create table bytetable (
    id int identity(1,1) primary key,
    data image (or varbinary(max)),
)

そしてそれは期待通りに動作します。データ変数は確かにbyte[]です。

于 2012-03-21T10:56:38.617 に答える