Architecture 为内部包含复杂数据的实体设计扩展属性

Architecture 为内部包含复杂数据的实体设计扩展属性,architecture,Architecture,我有一个设计问题。我有“人”这样的实体。此人具有诸如:名、姓、性别、出生日期等属性。。。。 最终用户在应用程序中创建人员时可能需要定义数据库表架构(或类人员)中未定义的另一个属性。例如:最终用户需要定义“property1”,使其成为字符串属性。或者需要定义“proerty2”作为图像,或者需要定义“property3”作为其复杂类型 请将您的设计解决方案分为两个级别: 1-数据库表设计 二级设计 技术:.NET Framework、SQL Server、WCF(所有实体都必须是在线序列化的

我有一个设计问题。我有“人”这样的实体。此人具有诸如:名、姓、性别、出生日期等属性。。。。 最终用户在应用程序中创建人员时可能需要定义数据库表架构(或类人员)中未定义的另一个属性。例如:最终用户需要定义“property1”,使其成为字符串属性。或者需要定义“proerty2”作为图像,或者需要定义“property3”作为其复杂类型

请将您的设计解决方案分为两个级别: 1-数据库表设计
二级设计

技术:.NET Framework、SQL Server、WCF(所有实体都必须是在线序列化的,扩展属性中的特殊复杂数据)

谢谢你。

这里有一个初学者,尽管更多信息会很有帮助,比如你在哪个平台工作

您可以尝试使用值/密钥对方法,尽管您需要进一步扩展此方法,以便可以为不同的实体实例分配不同的值

在数据库中,您可能有一个包含以下内容的表:

  • 唯一行id
  • 实体id
  • 属性键
  • 财产价值
如果要将其用于其他实体类型,则需要一个额外的列来分隔这些类型

如果您在.Net中工作,您可以设计接口,描述您希望在API级别使用的某些属性


您可以通过充当“属性实用程序”的类访问数据库中的属性,该类将由实体或创建它们的工厂在内部使用。

如下所示。为您的技术堆栈寻找实现。

我们不做“发送代码”或“发送设计”,就这样吧。好的。在这里写下你的解决方案!!!我想Neils想说的是,你必须独立思考,做你自己的工作,我们是来帮助你的,但不是为你做你的工作。这是非常普遍的。如何存储复杂数据并通过网络将其序列化?如果您有一个复杂的数据类型,您可以将其序列化为xml并存储该数据,或者根据需要发送该数据。我以前做过,但只在完全基于.net的系统中做过。试试看这里: