您好我正在使用C#设计一个名为Account的类,它继承自TableServiceEntity,因此我可以轻松地将帐户存储到Azure表存储中的帐户表中。
我希望Account类具有以下内容:
public Account : TableServiceEntity {
// Constructor
public Account() { }
// Properties
public string Name {get; set;}
public List<string> FriendsList{get;set;}
}
对于存储,我有以下内容:
TableServiceContext.AddObject(AccountTableName, newAccount);
TableServiceContext.SaveChanges();
我的问题:
有没有办法序列化FriendsList并以JSON格式将其存储在表中,而无需再创建一个像FriendsListSerialized这样的字符串属性?通过属性或其他一些机制? 我更喜欢将Name存储为自己的属性,所以我不想将整个对象序列化为一个单独的字符串。
你能在一个属性上使用Newtonsoft.JsonConvert.SerializeObject吗?
这样做的最佳方法是什么? :)
谢谢!
答案 0 :(得分:0)
我做了一些研究,最终发现TableServiceEntity是有限的,并且不能覆盖writeEntity和readEntity方法。但是,如果创建一个继承自TableEntity类的类,则可以非常灵活地修改writeEntity和readEntity方法。具体来说,可以将JSON序列化一个列表(或任何对象),然后将其存储到表存储中。将继承从TableSerivceEntity更改为TableEntity会稍微更改您的存储方法。它实际上比我想象的要容易。这是一个非常有用的页面。 http://gauravmantri.com/2012/11/17/storage-client-library-2-0-migrating-table-storage-code/ 希望能帮助人们像我一样长时间使用TableSerivceEntity。