给出具有自动递增PK的记录表
当我将实体添加到DbContext时,如下所示:
using (var dbContext = new MyDbContext())
{
dbContext.Records.Add(new Record { TypeId = "TYPE1" });
dbContext.Records.Add(new Record { TypeId = "TYPE2" });
dbContext.Records.Add(new Record { TypeId = "TYPE3" });
dbContext.SaveChanges();
}
然后我可以指望记录ID会以与将实体添加到数据库上下文中相同的顺序递增吗?
我想知道以下查询以相同的顺序返回记录。
var records = dbContext.Records.AsNoTracking().OrderBy(r => e.RecordId).ToList();
实体定义如下
public partial class Record
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Column(TypeName = "numeric(10, 0)")]
public decimal RecordId { get; set; }
[StringLength(8)]
public string TypeId { get; set; }
[ForeignKey(nameof(TypeId))]
public RecordType Type {get; set;}
}
modelBuilder.Entity<Record>(entity =>
{
entity.HasOne(record => record.Type)
.WithMany(type => type.Records)
}
*注意:我在查询中需要按插入事件的顺序获取事件。我有时间戳记,但是如果记录是在单个事务中生成的,则需要额外的排序。