C# 处理动态(用户生成)数据模型的不同方法

C# 处理动态(用户生成)数据模型的不同方法,c#,.net,sql-server,entity-framework,C#,.net,Sql Server,Entity Framework,如果我有一个多租户应用程序,该应用程序为给定的用户群提供广泛的平台(帐户/用户管理计费/etc)服务,但需要用户在其租户中定义应用程序数据模型的某些方面,那么我的选项是什么 因此,假设该应用程序向汽车机械师提供平台服务,并向兰花师提供相同的服务,但在应用程序中各自的租约中,每个不同的用户组(机械师/兰花师)都需要定义代表其行业的模型 由于我不是每一个行业的专家,或者可能不是任何行业的专家,因此我没有必要定义允许最终用户在任何给定租约内搜索服务的模型。相反,我想把这一点交给租户(机械师、兰花师)来

如果我有一个多租户应用程序,该应用程序为给定的用户群提供广泛的平台(帐户/用户管理计费/etc)服务,但需要用户在其租户中定义应用程序数据模型的某些方面,那么我的选项是什么

因此,假设该应用程序向汽车机械师提供平台服务,并向兰花师提供相同的服务,但在应用程序中各自的租约中,每个不同的用户组(机械师/兰花师)都需要定义代表其行业的模型

由于我不是每一个行业的专家,或者可能不是任何行业的专家,因此我没有必要定义允许最终用户在任何给定租约内搜索服务的模型。相反,我想把这一点交给租户(机械师、兰花师)来定义他们的模式(比如引擎号、品牌、机械师的模式)和搜索所针对的(水果、颜色、重量、品种)


我可以想到一些简单的模型,比如定义100个空闲字段,并允许租户用他们的数据字段占用它们,但我甚至讨厌这种想法。我想以某种方式想出一些强类型动态方法,允许租户定义模型,这些模型在任何给定的租赁中都具有高度的可搜索性和可比性。

一个可能的途径是为用户实现一个编辑器来声明字段和类型。 然后使用Reflection.Emit在运行时创建一个表示模型的类