2011-07-22 13 views
2

私は、データベースからデータを取得するためにjQueryを通してAJAX呼び出しをたくさん使用するASP.NET Webアプリケーションを開発しています。だから私はこの呼び出しを処理するための良いアプローチを取り入れたいと思う。私はAJAX呼び出しごとにWebハンドラを使用することを考えました。この呼び出しはJSON形式のデータを返し、jQueryコードはJSONデータを操作してWebページに表示するために使用されます。ストアドプロシージャの結果をJson.NETシリアライザの.NETオブジェクトの種類に設定しますか?

ウェブハンドラ内では、ストアドプロシージャを使用してSQLデータベースからデータを取得します。結果セットをJSONに変換するためにJson.NET serializerを使用することを考えました。そして私の質問は、C#.NETオブジェクトのどのような種類の私はストアドプロシージャの結果セットを置く必要がありますので、私はシリアライザでそれを動作させることができますか? (任意の例やヒントは偉大なり)私はちょっと...それをループしてStringBuilderのか何かでJSON自分自身を構築し、その後、痛みのない、高速のために

THX

答えて

1

私はあなたがJSONとしてシリアライズしたいモデルデータ(C#クラス独自のビジネス・オブジェクトを作成することを検討します)、Entity Frameworkを使用してこれらをデータベーステーブルとストアドプロシージャにマップします。ビジネスクラスを[Serializable]属性でマークすると、離れているはずです。

1

をDataReaderを使用してのアイデアが好きではありませんDBから読んでみるとDapperです。

ちょうどあなたの結果セットにマップするクラスを宣言し、それを埋めるためにDapperのを使用して、すなわち:

IEnumerable<User> user = connection.Query<User>("spGetUsers", 
    new {Id = 1}, 
    commandType: CommandType.StoredProcedure); 
関連する問題