有效的自定义azure表存储实体序列化?

时间:2011-08-18 23:28:39

标签: .net serialization azure azure-table-storage

我有什么方法可以自定义azure表存储实体的序列化?我已经阅读了许多关于ReadingEntity / WritingEntity事件的帖子/主题,但我认为这还不足以满足我的需求。我希望我的实体支持:

  1. 枚举类型属性;
    • 我测试了很多选项,更多的不适用于我,我收到异常(状态代码500),不调用ReadingEntity / WritingEntity事件处理程序并且实体不会持久化。然后,事件处理程序方法不适用于此问题。
  2. 只读属性;
    • 在我的测试中,我收到异常(“封闭类型System.String没有相应的S settable属性。”),但实体是持久的,那么也许我可以忽略异常。调用了WritingEntity事件处理程序,但我认为我可能无法对异常做出决定。最大的问题是当我加载对象时没有调用ReadingEntity事件处理程序,然后我无法解决此问题。然后,事件处理程序方法不适用于此问题。
  3. 瞬态/计算属性;
    • 我没有经过测试,但我认为可以使用事件处理程序方法,只需删除WritingEntity事件处理程序中的属性。
  4. PartitionKey / RowKey元素的自定义名称;
    • 我没有经过测试,但我认为可以使用事件处理程序方法。我可以在我的实体类中使用DataServiceEntity属性,并在WritingEntity事件处理程序中将我的自定义名称重命名为requerid名称。
  5. 没有公共默认构造函数。
    • 好的,这在我的测试中运作良好。
  6. 嗯,问题1和问题2对我来说仍然是一个大问题,任何人都有任何想法让我完成所有5个目标?

    感谢的.. 最好的问候..

2 个答案:

答案 0 :(得分:1)

我建议使用Lokad.Cloud的FatEntity方法。在我们的经验中,它更简单,更有效。

答案 1 :(得分:1)

我编写了一个Azure表存储客户端,它支持数组,枚举,大数据,序列化,公共和私有属性和字段等。

你可以在http://www.lucifure.com获得它。