В дополнение к атрибуту ID
я устанавливаю EntityFramework для индексации атрибута Name
моей модели:
public class EntityTypeConfiguration : IEntityTypeConfiguration<Student>
{
public void Configure(EntityTypeBuilder<Student> builder)
{
builder.ToTable("Students");
builder.HasKey(obi => obi.ID);
builder.Property(obj => obj.ID).IsRequired(true);
builder.HasIndex(obj => obj.Name).IsUnique();
}
}
Затем в какой-то момент в моем коде я запрашиваю студентов по ихname:
var student = dbContext.Students.First(x => x.Name == "Meryl");
Этот запрос выполняется тысячи раз, и у меня есть миллионы Student
s в базе данных. Следовательно, его производительность имеет решающее значение, но в настоящее время он работает очень медленно, поэтому я не уверен, что LINQ фактически использует индекс базы данных.
Есть мысли?