Id在实体框架中生成规则

时间:2017-08-08 12:23:20

标签: c# .net-core entity-framework-core

在实体框架中是否有可能具有自动递增的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会很棒。

0 个答案:

没有答案