我想将联系人存储在Azure表上(名称和性别作为属性)。所以我基本上是两节课。从TableSerivceContext派生的那个,另一个派生自TableServiceEntity。现在我无法连接这些碎片。我将在cotroller上做什么(我使用MVC3)
tnx任何提示?
答案 0 :(得分: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
答案 1 :(得分:1)
这是我最近创建的一个非常简单的MVC3 + Windows Azure Table示例应用程序:
DataContext context = new DataContext(storageAccount.TableEndpoint.AbsoluteUri,storageAccount.Credentials); context.AddObject(“DataEntryTable”,dataEntity); context.SaveChanges();
最后,您可以从控制器创建视图。
答案 2 :(得分:0)
您需要继承TableServiceEntity中的“Contact”和TableServiceContext中的上下文类,以提供管理“Contact”实体的所有方法。然后,您可以从任何地方(包括控制器)调用“Context”类上的方法。
我编写了一个备用的Azure表存储客户端Lucifure Stash,它不需要从任何基本调用继承,并支持对azure表存储的额外抽象。 Lucifure Stash支持大数据列> 64K,阵列&列表,枚举,组合键,开箱即用的序列化,用户定义的变形,公共和私有属性和字段等。 它可以在http://www.lucifure.com或通过NuGet.com免费供个人使用。
答案 3 :(得分:0)
下载Windows Azure Platform Training Kit并在Windows Azure存储上执行实验。在15分钟内你将有一个工作原型。