代码之家  ›  专栏  ›  技术社区  ›  SDReyes

手动分配实体的id是个好主意吗?

  •  2
  • SDReyes  · 技术社区  · 15 年前

    我们正在开发一个系统来替换客户的旧应用程序。

    实际上,有许多实体(如商家、销售人员、产品等)必须有一个手动分配的ID,这样才能与其他现有系统集成。i、 e.会计。

    我们认为最好的解决方案是简单地允许用户在创建实体时手动分配实体id;我们将向他建议下一个可用的ID,用户可以根据需要进行更改。不允许更新((哈哈哈)

    警察局:你知道关于这件事的任何文件吗-实体和ID-


    更新

    • 我们认为应该有这样的情况,但不适用。所以。。。
    • 此外,还有一些情况下,当客户真正想要一个给定的实体有一个他们带来的Id。我想是组织内部代码。
    3 回复  |  直到 15 年前
        1
  •  10
  •   ChrisLively    15 年前

    永远不要让用户有权分配或创建底层对象标识符。这些必须由系统维护。

    想象一下,如果用户选择了一个已经在使用的id,那么试图找出一个相关实体实际上与哪个实体相关的噩梦。

    相反,您应该有一个常规的实体ID,它是系统为所有依赖对象的链接分配和使用的某种类型(int、guid等等)。然后拥有某种类型的“外部”id,用户可以将自己的标识符放入其中。

    也许在某种程度上与外部系统有关,也许不是。关键是,不管他们做什么,你都能保持自己的一致性。

        2
  •  3
  •   BobbyShaftoe    15 年前

    通常要做的是指定自己的,通常是隐藏的,内部使用的标识符。然后创建第二个标识符,用户可以将其用作单独的数据字段。另外,如果您尝试建议下一个ID,可能会遇到一些并发问题。

        3
  •  0
  •   JoseMarmolejos    15 年前

    我在与零售商合作时也看到过类似的情况,有一个id和一个产品的SKU,SKU本身可能是id,但我们都有一个好的设计。

    推荐文章