如果我有一个多租户应用程序,该应用程序为给定的用户群提供广泛的平台(帐户/用户管理、计费等)服务,但要求用户在其租期内定义应用程序数据模型的某些方面,那么我的选择是什么?
因此,假设应用程序为汽车机械师提供平台服务,并为orchidists提供相同的服务,但在应用程序内的每个租户中,每个不同的用户组(机械师/orchidists)需要定义代表其行业的模型。
由于我不是每个行业或任何行业的专家,因此定义允许最终用户在任何给定租约内搜索服务的模型对我来说没有意义。相反,我想把这一点交给租户(机械师、兰花师)来定义他们的模型(比如引擎号、品牌、机械师的型号)和(水果、颜色、重量、甲壳虫的品种)来运行搜索。
我可以想到一些简单的模型,比如定义100个空闲字段,并允许租户使用他们的数据字段来占用它们,但我甚至讨厌这样的想法。不知何故,我会想出一些强类型的动态方法,允许租户定义模型,这些模型也是高度可搜索的,实际上在任何给定的租户中都是可比较的。
发布于 2014-02-26 06:25:55
一种可能的方法是为用户实现一个编辑器来声明字段和类型。然后使用Reflection.Emit在运行时创建一个表示模型的类。
https://stackoverflow.com/questions/22027214
复制相似问题