ExecuteStoreQuery
のメソッドを使用して、SQLiteデータベースに対して手動でSQLクエリを実行しようとしていますObjectContext
。
問題は、クエリを実行しているテーブルに列がいくつあるかを常に把握しているとは限らないことです。理想的には、フェッチされた各行を単にstring[]
オブジェクトにしたいです。
ここで例2を見てきました:http://msdn.microsoft.com/en-us/library/vstudio/dd487208 (v = vs.100).aspx
フェッチしている構造がわからないことを除けば、やりたいことに近いTElement
ので、例のように構造体を定義することはできません。
以下は私のコードの一部です(のためにコンパイルされていません????
TElement
)。以下のコードはテーブル情報を取得しようとしているので、この場合、行の構造はわかりますが、一般的にはわかりません。
これを行う方法はありExecuteStoreQuery
ますか?ObjectContext
または、 (DBへの新しいSQL接続を開くのではなく)私の既存の接続を使用しながら、それを行う別の方法はありますか?
public void PrintColumnHeaders(NWRevalDatabaseEntities entities, string tableName)
{
string columnListQuery = string.Format("PRAGMA table_info({0})", tableName);
var result = entities.ExecuteStoreQuery<????>(columnListQuery);
foreach (string[] row in result)
{
string columnHeader = row[1]; // Column header is in second column of table
Console.WriteLine("Column Header: {0}", columnHeader);
}
}