我会尽量简短而清楚地回答这个问题。
我们有一个使用实体框架 4 的 asp.net mvc 应用程序。
我们的业务模型相对简单:我们有一个名为 Photo(s) 的对象(对应于一张表)。该照片表有一些与对象的属性相匹配的列。描述、标题、日期等。它还有一些引用其他表的外键的列:AuthorId、LicenseId 等...
作者和许可证表本身就很复杂,有多个字段(标题、摘要、日期等)
我有多个客户使用此应用程序查看他们的照片。我希望每个客户都指定他们在查看照片时看到的字段,以及他们在编辑这些字段时看到的字段。
我的想法是设置表格,说明客户端 A 在查看照片时应该看到 Field1、Field2 和 Field3,而客户端 B 应该看到 Field1、Field4 和 Field5。但是其中一些字段不仅仅是主照片表中的列,它们可能是子表中的字段。所以 Field1 可能是:Table.Photos.Title -> 对应于对象:Objects.Photo.title... 但 Field3 可能是:Table.Licenses.LicenseSummary -> 对应于对象:Objects.Photo。 License.LicenseSummary
我试图找出我们将使用的方法来拥有一个非常数据驱动的环境,所以我可以说在数据库中显示这个对象/属性(用于查看或编辑),然后它会知道如何映射到任何表它需要提取这些信息。此外,在编辑过程中......如果它是那种类型的属性,而不仅仅是一个文本字段,请给它一些方法来提取可用值的列表。
我正在寻找这可能涉及的示例,我们的模型实际上比这更复杂,但这只是我们试图完成的一个想法。我不知道我正在尝试做的事情是否正常,也许它涉及反思?这对我来说是一个新领域。