1

連絡先をAzureテーブル(プロパティとしての名前と性別)に保存したい。だから私は基本的に2つのクラスです。1つはTableSerivceContextから派生し、もう1つはTableServiceEntityから派生します。今、私はピースを接続することができません。コントローラーで実際に行うこと(MVC3を使用)

ヒントはtnx?

4

4 に答える 4

1

ビューから投稿を介してプロパティ(名前と性別)を受け取っていると仮定します。
コントローラーは次のようになります

public ActionResult DoSomething(User model)
{

}

だからあなたがする必要があるのは..それです。TableServiceEntityから派生したクラスの新しいオブジェクトを作成します。プロパティを割り当てます。このような

var tableUser = new TableUser(){Name = model.Name, Gender=model.Gender}

次に、TableServiceContextから派生したクラスからオブジェクトを作成します。メソッドを使用して、ユーザーをテーブルhttp://msdn.microsoft.com/en-us/library/system.data.services.client.dataservicecontext.addobject.aspxAddObject()に追加します。

于 2012-04-29T19:37:31.570 に答える
1

これは、非常に単純なMVC3 + WindowsAzureTableサンプルアプリケーションを作成するために最近行ったことです。

  1. TableServiceEntityから継承するモデルクラスDataEntityを作成しました。これには、PartitionKeyおよびRowKeyとともに保存するために必要なすべてのテーブルプロパティが含まれます。
  2. IQueryableを含むTableServiceConextから継承する別のモデルクラスDataContextを作成し、テーブルを設定します
  3. Viewを返すHTTPGetおよびHTTPPostメソッドタイプViewResultを作成するControllerクラスを作成しました。コントローラには、最初にModel DataContextタイプを使用してテーブルを作成し、次に次のようにAddObjectをDataEntityタイプとして呼び出すコードを追加するコードもあります。

DataContext context = new DataContext(storageAccount.TableEndpoint.AbsoluteUri、storageAccount.Credentials); context.AddObject( "DataEntryTable"、dataEntity); context.SaveChanges();

最後に、コントローラーからビューを作成できます。

于 2012-05-01T09:43:23.157 に答える
0

Windows Azureプラットフォームトレーニングキットをダウンロードして、WindowsAzureストレージでラボを行います。15分で、実用的なプロトタイプができあがります。

于 2012-05-01T14:42:57.963 に答える
0

「Contact」エンティティを管理するためのすべてのメソッドを提供するには、TableServiceEntityから「Contact」を継承し、TableServiceContextからコンテキストクラスを継承する必要があります。その後、どこからでも(コントローラーを含む)「Context」クラスのメソッドを呼び出すことができます。

代替のAzureテーブルストレージクライアントであるLucifureStashを作成しました。これにより、基本呼び出しから継承する必要がなくなり、Azureテーブルストレージを介した追加の抽象化がサポートされます。Lucifure Stashは、64Kを超える大きなデータ列、配列とリスト、列挙、複合キー、すぐに使用できるシリアル化、ユーザー定義のモーフィング、パブリックおよびプライベートのプロパティとフィールドなどをサポートします。http://www.lucifure.com またはNuGet.comから無料で個人的に使用できます。

于 2012-04-29T19:28:01.230 に答える