在我的项目中,我首先使用Entity Framework代码创建Appointments
表。当我将整数主键AppointmentNo
设置为[Key]
和[Required]
时,它将创建具有以1开始的初始主键的表。
我希望约会编号从1000开始。我的数据库是SQL Server。请帮我。先感谢您。
[DataContract]
public class Appointment
{
[DataMember]
[Key]
[Required]
public int AppointmentNo { get; set; }
[DataMember]
[Required]
public string DoctorUN { get; set; }
[DataMember]
[Required]
public string PatientUN { get; set; }
}
答案 0 :(得分:2)
无法使用ef批注,但是您可以在迁移UP方法中执行sql
Sql("DBCC CHECKIDENT ('Appointment', RESEED, 1000)");
答案 1 :(得分:1)
EF Core 3.1 您可以在更新数据库之前打开迁移脚本并进行编辑。 EF为身份列创建以下行: .Annotation(“ SqlServer:Identity”,“ 1,1”),
您可以将其更新为所需的任何内容:
.Annotation(“ SqlServer:Identity”,“您的起始值,您的增量值”),
示例:如果我希望tblOrder上的OrderId列从1000开始并以1递增:
migrationBuilder.CreateTable(
name: "tblOrder",
schema: "dbo",
columns: table => new
{
OrderID = table.Column<int>(nullable: false)
.Annotation("SqlServer:Identity", "1000, 1"),
CDate = table.Column<DateTime>(nullable: false, defaultValueSql: "getdate()")
},
.
.
.
答案 2 :(得分:0)
只要主键属性的类型为数字或GUID,按照惯例,Code First将自动将键配置为标识列。