0

私はグーグルに時間を費やし、ここで調査に時間を費やしました:http://msdn.microsoft.com/

ただし、この質問に対する簡単な答えが見つからないようです。

row以下に示す行のようなデータベースからデータを返すときに、次の変数に返される C# データ型は何ですか?

selectQueryString = "SELECT * FROM ContentObjects INNER JOIN TitleObjects ON ContentObjects.ObjectID = TitleObjects.ObjectID WHERE location='home' AND type = 'title' AND TitleObjects.ObjectID = @0";

row = db.QuerySingle(subSelectQueryString, someNumber);

使用する前にページの先頭で宣言する必要があるのでお願いrowしますが、初期化する必要があり、データ型を知らずにこれを行うことはできないようです。

アップデート:

ところで、var db = Database.Open("tableName")

4

3 に答える 3

2

QuerySingle メソッドはdynamic型を返します ( http://msdn.microsoft.com/en-us/library/dd264736.aspxを参照)。スキーマのフィールド名は、動的オブジェクトのプロパティになります。コンパイラ (または の場合はdynamicランタイム バインダー) は、プロパティの後に角かっこを付けた場合にのみ、メソッドを呼び出そうとしていると見なします。

@row.linktext()
于 2013-05-28T18:42:50.723 に答える
1

dynamicデータ型を返します

dynamicC# 4.0 の新しいデータ型です。実行時に処理される単純なデータ型です。コンパイル後にオブジェクトのデータ型を動的に把握します。

selectQueryString = "SELECT * FROM ContentObjects INNER JOIN TitleObjects ON ContentObjects.ObjectID = TitleObjects.ObjectID WHERE location='home' AND type = 'title' AND TitleObjects.ObjectID = @0";

row = db.QuerySingle(subSelectQueryString, someNumber);

var the_field_content = row.location;

クエリ メソッドが だった場合、db.Queryが返され、 LINQ メソッドまたはIEnumerable<object>オブジェクト メソッドを使用してさらに深く掘り下げるという利点が得られます。row.Length;row.Skip(5).Take(2).Select(row);

変数行を var として宣言し、ビジュアル スタジオでブレークポイントをヒットして、その上にカーソルを置きます。データ型が表示されます。dynamic

于 2013-05-29T07:09:57.050 に答える