【问题标题】:Changing the model's attributes - adding or removing attributes更改模型的属性 - 添加或删除属性
【发布时间】:2023-03-11 23:30:01
【问题描述】:

我正在开发一个 MVC3 代码优先的 Web 应用程序,在我向我的老板展示了第一个版本之后,他们建议他们需要一个“备用”(备用,例如尚未定义的东西,我们将使用它以防万一我们将需要它)Employee 模型中的属性。

我的目的是找到一种方法,让他们能够根据需要向模型添加任意数量的属性。显然我不希望他们拿到代码并修改它,然后再次部署它(我知道我没有提到数据库,那将是另一个问题)。我想要一个能够“即时”添加新属性的解决方案。

你们中是否有人有类似的要求,如果你们找到/实施了什么解决方案?

【问题讨论】:

    标签: asp.net-mvc-3 ef-code-first


    【解决方案1】:

    我没有这样的要求,但我可以想出一种方法来得到你想要的。 我假设你使用实体框架,因为你的标签。

    假设我们有一个 Employee 类,我们希望它是可扩展的。我们可以给这个类一个字符串字典,其中键类型也是字符串。然后,您可以轻松地为每位员工添加更多属性。

    要将此结构保存到数据库中,您需要两个表。一个持有员工,一个持有财产。属性表有一个针对员工表的外键。

    或者按照本问答 (EF Code First - Map Dictionary or custom type as an nvarchar) 中的建议:您可以将字典的内容作为 XML 保存在员工表的一列中。

    这只是一个建议,很高兴知道您是如何解决这个问题的。

    【讨论】:

    • 感谢您的想法,如果我还有任何问题,我会检查并回复您,干杯
    • 我喜欢你提供的概念,而且很有道理!我仍在努力实施
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多