1

我想将联系人存储到 Azure 表(名称和性别作为属性)。所以我基本上两班。一个从 TableSerivceContext 派生,另一个从 TableServiceEntity 派生。现在我无法连接碎片。我将在控制器上真正做什么(我使用 MVC3)

tnx 有什么提示吗?

4

4 回答 4

1

这是我最近为创建一个非常简单的 MVC3 + Windows Azure Table 示例应用程序所做的:

  1. 创建了一个继承自 TableServiceEntity 的模型类 DataEntity,其中包括与 PartitionKey 和 RowKey 一起存储所需的所有表属性
  2. 创建了另一个模型类 DataContext 从 TableServiceConext 继承,其中包括 IQueryable 设置表
  3. 创建了一个控制器类,该类创建 HTTPGet 和 HTTPPost 方法类型 ViewResult 返回视图。控制器也有代码首先使用 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 回答
1

我假设您从视图中通过帖子接收属性(姓名和性别)。
所以你的控制器可能是这样的

public ActionResult DoSomething(User model)
{

}

所以你需要做的是......那个。为从 TableServiceEntity 派生的类创建一个新对象。并分配属性。像这样

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

然后从派生自 TableServiceContext 的类中创建一个对象。并使用AddObject()方法将用户添加到表中
http://msdn.microsoft.com/en-us/library/system.data.services.client.dataservicecontext.addobject.aspx

于 2012-04-29T19:37:31.570 回答
0

下载Windows Azure 平台培训工具包并在 Windows Azure 存储上进行实验。在 15 分钟内,您将拥有一个工作原型。

于 2012-05-01T14:42:57.963 回答
0

您需要从 TableServiceEntity 继承“Contact”并从 TableServiceContext 继承上下文类,以提供管理“Contact”实体的所有方法。然后,您可以从任何地方(包括控制器)调用“上下文”类的方法。

我编写了一个备用 Azure 表存储客户端 Lucifure Stash,它无需从任何基本调用继承,并支持对 azure 表存储的额外抽象。Lucifure Stash 支持 > 64K 的大型数据列、数组和列表、枚举、复合键、开箱即用的序列化、用户定义的变形、公共和私有属性和字段等。它可在http://www.lucifure.com 或通过 NuGet.com 免费供个人使用。

于 2012-04-29T19:28:01.230 回答