Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#中的Azure表-如何模拟多重继承_C#_Azure_Azure Table Storage - Fatal编程技术网

C#中的Azure表-如何模拟多重继承

C#中的Azure表-如何模拟多重继承,c#,azure,azure-table-storage,C#,Azure,Azure Table Storage,我正在利用Azure表为网站存储数据(快速、廉价等)。缺点之一似乎是需要在对象模型中反映数据持久性。我所做的是建立一个逻辑模型,比如说地点,但是快速查找需要多个物理模型。例如:Place作为逻辑项,但user Place、date Place等作为分区键,因此我可以快速检索这些内容以供显示(例如:只需通过对分区键的一次查询获取特定日期的所有用户位置) 一直困扰我的是,在需要在每个物理表示中维护相同的方法和字段时,它会导致冗余和错误。TableEntity需要被继承,因此不允许我简单地使用逻辑模型

我正在利用Azure表为网站存储数据(快速、廉价等)。缺点之一似乎是需要在对象模型中反映数据持久性。我所做的是建立一个逻辑模型,比如说地点,但是快速查找需要多个物理模型。例如:Place作为逻辑项,但user Place、date Place等作为分区键,因此我可以快速检索这些内容以供显示(例如:只需通过对分区键的一次查询获取特定日期的所有用户位置)

一直困扰我的是,在需要在每个物理表示中维护相同的方法和字段时,它会导致冗余和错误。TableEntity需要被继承,因此不允许我简单地使用逻辑模型在其所有物理表示中进行继承


C#不支持多重继承,那么如何解决这个问题呢

好的,我想我已经解决了这个问题,所以我把它留给其他任何可能像我这样理解较早的人。我有反向的继承链,非常简单。我需要一个带有公共元素的基类从TableEntity继承。然后,所有祖先都将获得持久化基本元素以及它们添加的特定于其用途的任何附加元素的能力。这使我能够将基类作为一个逻辑类来使用,同时将该类的视图作为物理表示来持久化,这些物理表示可以快速检索,但可以作为基类以一种通用的方式进行处理。好的,我想我已经解决了这一问题,因此将其留给其他可能像我这样理解较早的人。我有反向的继承链,非常简单。我需要一个带有公共元素的基类从TableEntity继承。然后,所有祖先都将获得持久化基本元素以及它们添加的特定于其用途的任何附加元素的能力。这使我能够将基类作为逻辑类使用,同时将该类的视图作为物理表示进行持久化,这些物理表示可以快速检索,但作为基类以通用方式进行处理。