我的客户要求数据库中的字段(“代码”)应该是从100000开始的只读增量值。有趣的是该实体已经有一个主键......
我不知道如何使用Entity Framework轻松实现这一点。有任何想法吗? 谢谢!
答案 0 :(得分:1)
每个表只能创建一个标识列。标识列不能超过一个。
一种解决方案是使用 SQL Server 2012 中引入的 SQL Server 序列。
CREATE SEQUENCE Code_Seq START WITH 100000;
SELECT NEXT VALUE FOR Code_Seq;
答案 1 :(得分:0)
你看过DatabaseGenerated Annotation吗?
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Code { get; set; )
这会强制数据库生成值,并且通过使用Identity,它只会在插入时生成值(而不是在更新时)
据我所知,使用此方法需要您在数据库实例和EF would not generate it for you内设置值创建。
很抱歉,如果这不能100%回答您的问题,但希望它能让您走上正轨!