在.net core的OnModelCreating表中是否有任何方法使用order by子句? &g



我想在下面的代码中使用order by子句。模型和视图中都有StartDatetime字段。所以order by应该在代码中使用startDatetime desc。有人能告诉我怎么做吗?

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
{
var builder = modelBuilder.Entity<TestBookingsView>().ToTable("vw_Testbooking");

SetKey(builder);
}
modelBuilder.ApplyConfigurationsFromAssembly(Assembly.GetExecutingAssembly());
}

重写OnModelCreating方法以进一步配置根据约定从派生上下文的DbSet属性中公开的实体类型发现的模型。

在OnModelCreating方法中,我们可以使用Fluent API配置模型、实体和属性配置。示例代码如下:
public class SchoolDBContext: DbContext 
{
public DbSet<Student> Students { get; set; }

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
//Write Fluent API configurations here
//Property Configurations
modelBuilder.Entity<Student>()
.Property(s => s.StudentId)
.HasColumnName("Id")
.HasDefaultValue(0)
.IsRequired();
}
}

关于使用Fluent API的更多详细信息,请查看以下文章:

Entity Framework Core中的Fluent API

Fluent API Configuration

我想在下面的代码中使用order by子句。模型和视图中有StartDatetime字段。所以顺序应该是

从你的描述中,我假设你可能想使用Fluent API设置默认订单。在EF 6中,当使用Fluent API时,有一个HasColumnOrder()方法,但不幸的是,在EF core中,似乎不支持这个方法。

因此,我建议您可以在Query语句中使用OrderBy或orderbydescent方法,而不是在OnModelCreating方法中使用。您可以参考本教程:教程:添加排序、过滤和分页- ASP。. NET MVC与EF Core

最新更新