EF7通过将[Key]
属性添加到整数键来完成自动生成自动递增ID的所有常见操作。我发现了video,它描述了生成EF本机支持的整数键的替代策略。
然而,我项目中的键是GUID。在大多数情况下,我希望将它们生成为COMB GUID,这样它们就不会在插入聚簇索引时造成麻烦。我可以在SQL表上设置默认值NEWSEQUENTIALID()
,但我们特别想在代码中生成ID(这就是我们首先使用GUID的原因)。问题一是:我们如何在EF7中的关键字段上生成COMB GUID?
然后有一个特定的表,其ID字段需要从其中一个字段的散列中生成。 (这样我们可以依赖具有相同ID的不同环境中的相同记录。)问题二是:如何在此表中插入记录时实现自定义GUID生成?
我使用DbContext
方法修改了OnModelCreating()
ValueGeneratedOnAdd()
方法,但无法找到允许我设置的任何参数或重载任何类型的自定义GUID生成。