使用 EF Core 6,可以在模型構建器中設定一個序列,然后使用以下方式為屬性生成值。
//DBContex Class
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.HasSequence<int>("OrderNumbers");
modelBuilder.Entity<Order>()
.Property(o => o.OrderNo)
.HasDefaultValueSql("NEXT VALUE FOR shared.OrderNumbers");
}
我正在嘗試將 DbConfigurations 移動到特定于模型的單獨配置類:
//Seperate Configuration Class
public class OrdertEntityConfiguration : IEntityTypeConfiguration<Order>
{
public void Configure(EntityTypeBuilder<Order> builder)
{
builder.HasSequence("OrderNumbers").StartsAt(1000);
}
}
但它給出了以下錯誤:
錯誤 CS1929“EntityTypeBuilder”不包含“HasSequence”的定義,并且最佳擴展方法多載“RelationalModelBuilderExtensions.HasSequence(ModelBuilder, string, string?)”需要“ModelBuilder”型別的接收器
任何解決方案?
uj5u.com熱心網友回復:
序列不屬于物體,必須保存在主 DbContext 中
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/426644.html
下一篇:為變數名Python傳遞字串
