【发布时间】:2015-10-23 18:45:58
【问题描述】:
Entity Framework 中的“自增”功能是否可以有一个主键和另一个不是主键的字段?
我在网上找到了这个,试过了,但是不行:
public int Id { get; set; }
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int ImageId { get; set; }
在这种情况下,Id 始终为 0。
所以现在我回到这个:Id 是主键,我使用MAX(Id) + 1 来增加ImageId 整数。
更新:我什至想为ImageId 创建另一个表。但我不确定这是否是矫枉过正。
【问题讨论】:
-
架构是什么样子的?
-
MSSQL 架构?现在
Id是主键,ImageId是一个整数。我不知道如何使ImageId字段自动递增,而不是MAX(Id) + 1,我不知道这是否是个好主意。 -
MS SQL 只允许每个表有一个标识列。
-
@afrazier 我知道...我只是想列出我已经尝试过的内容,以免它成为答案,因为我已经知道它无法解决问题。
-
我会在插入触发器之后使用,或者让它只是插入/更新的一部分。或者更好 - 一个微服务来跟踪它。
标签: c# sql-server entity-framework ef-code-first identity-column