【问题标题】:What is the recommended MVC design pattern for adding non-existent foreign key?添加不存在的外键的推荐 MVC 设计模式是什么?
【发布时间】:2015-11-18 23:04:13
【问题描述】:

您正在构建一个 MVC5 EF6 应用程序,用户将在其中添加音乐专辑。一张音乐专辑有艺术家、唱片公司和类别外键,它们分别代表我自己的模型。在创建专辑页面上,用户将通过下拉菜单选择唱片标签、类别和艺术家。如果尚未输入该艺术家或唱片公司会怎样?

用户是否必须先去艺术家或唱片标签视图添加它,然后再返回专辑页面来创建专辑?有没有更好的方法来优化用户流程?

我曾考虑在专辑视图中使用 UI 手风琴,其中包含专辑、艺术家、唱片公司和类别模型的面板。艺术家、唱片公司和类别面板将开始折叠。如果用户在艺术家、唱片公司、类别的下拉列表中选择“其他”,则相应的面板将展开并让用户有机会输入必要的字段以即时创建唱片公司。这是一个坏主意吗?还有其他我没有考虑过的选项可以使用户的过程变得容易吗?

【问题讨论】:

    标签: asp.net-mvc design-patterns asp.net-mvc-5 foreign-keys


    【解决方案1】:

    这里真的只有两个选择:

    1. 让输入表单允许记录标签等的新条目。这会导致出现重复条目​​(拼写、缩写等)的可能性
    2. 创建另一个表单来管理这些外键,允许某人添加新标签、艺术家等。存在相同的重复可能性,但是您可以引入一些模糊逻辑来搜索相似的名称添加条目时。

    这两种方法中的任何一种都可能包含审核,迫使您或其他实体审查新条目,但这当然需要时间。对我来说,做出这个决定的最大因素是系统的用户是否可以被信任来做出明智的决定。 (即找到一个现有的名称并使用它,而不是不断重复)

    就设计而言,这是高度优先的,并没有真正的正确答案。最好的解决方案是制作一个模型,让不熟悉该项目的人使用该网站并获得他们的反馈,并做出相应的更改。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-05
      相关资源
      最近更新 更多