考虑这样的实体:
public class Document
{
public int Id { get; set; }
public long code { get; set; }
// Rest of Props
}
我需要的是生成一个唯一的长码,我更喜欢根据Id生成它。
一个简单的经典但不安全的解决方案是获取最后一个 Id 并将其增加一并使用,但我正在寻找更好的解决方案,例如计算列,或任何其他将代码生成分配给数据库的方式。
- 如果我尝试将其定义为计算列,我将无法访问 Id。
- 将其标记为 Identity 是不可能的,因为 Id 已经是一个 Identity 列。
- 创建获取最后一个 ID 的方法并不安全和干净。
到目前为止,我正在尝试在交易的帮助下做以前的经典解决方案以使其安全。
有更好的建议吗?