【发布时间】:2014-07-10 19:10:38
【问题描述】:
我有一个相当独特的问题,所以我想我会在这里问:
我需要组合一个 Code First 模型,其中用户有 2 个 ID 字段,一个是唯一的(分别标识每个用户),一个对每个用户来说不是唯一的(用于分组目的)。
如何在其中获取有时从数据库中获取其值的字段(唯一的),有时由我的代码设置(当我使用它进行分组时)?
是否有任何注释可以提供帮助,所以当我分配一个值时,它就是使用的那个,当我不分配任何东西时,它会自动获得一个新的 ID?
【问题讨论】:
-
所以你需要一个主ID,它是唯一的。每当您将某些内容添加到数据库中时,这个都会自动创建。然后您想要的另一个 id (group_id) 是您需要设置的唯一一个。如果您不提供,您可以将数据库设置为自动将 group_id 设置为 1(默认值)。
-
我的问题是:当我不为其提供值时,我能否以某种方式获得一个唯一的 group_id,并在其他时间拥有我想要的任何值?
-
嗯...我不知道在数据库本身中有什么方法可以做到这一点,但也许你在访问它的地方,你可以保留你已经拥有的所有 group_ids 的列表。因此,当您想要一个独特的时,只需将一个添加到您拥有的最大的中,然后使用它?
-
这在我的情况下是不可能的,但是引入一个新的实体(组)应该可以解决这个问题。我现在正在测试。谢谢你的帮助,波波!
-
您可以在该表上创建触发器。如果没有(NULL)被插入到字段中,生成一些东西。
标签: sql-server asp.net-mvc asp.net-mvc-5 code-first