在实体框架中是否有可能具有自动递增的Id但具有自己的规则?
我想创建一个Id看起来像的表:
customer-license + underscore + incrementing number
(仅当数据集由客户创建时)
客户许可证存储在名为License
的另一个实体中(每个客户获得一个许可证)
LicenseId (str) | Customer (str)
---------------------------------
L0000 | DefaultData
L0001 | Customer 1
L0002 | Customer 2
L0003 | Customer 3
通缉Resut:
所以数据集看起来像:
Id (str) | Name (str)
----------------------------------
1 | Defaultdata-Dataset
L0002_1 | Dataset1 created by Customer 2
L0003_1 | Dataset1 created by Customer 3
L0002_2 | Dataset2 created by Customer 2
所以,在我使用Java和Hibernate时,我可以创建一个构建我的Id的生成器。
在实体框架中,我们有[DatabaseGenerated()]
之类的东西需要DatabaseGeneratedOption
- 枚举的值。所以不可能使用它。
有人试图做这样的事情。 不需要将license-ident作为前缀(它只是为了解释我的目标) - 如何定义一个ident-generator会很棒。