Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Update to EF 9.0 and use Vector Search capability

Open
#481 3 comments 4 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
csharp, sql
Domain
databases

Research direction

No files or tests are named. Start with the EF 9.0 vector similarity documentation and the provider's model-building and SQL-generation entry points; compare the IsVector configuration, Cloud Spanner DDL, and EF.Functions.VectorDistance example. Done means vector columns and vector-search queries produce the requested schema and SQL.

Written by the indexing model from the issue text.

Description

priority: p3 type: feature request

Thanks for stopping by to let us know something could be better!

Is your feature request related to a problem? Please describe.
Cloud Spanner has introduced Vector Search capabilities; which EF 9.0 now has native support for with the IsVector extension methods.

See: https://learn.microsoft.com/en-us/ef/core/what-is-new/ef-core-9.0/whatsnew#vector-similarity-search-preview

Describe the solution you'd like
Be able to define a column as a Vector type using EF and the DDL created for Cloud Spanner marks up the ARRAY type as a Vector index.

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Blog>()
            .Property(b => b.Embeddings)
            .IsVector(DistanceFunction.Cosine, dimensions: 1536);
    }

When using the Where predicate, if the operator is a Vector Search, the translated SQL statements generated are vector searches:

var blogs = await context.Blogs
    .OrderBy(s => EF.Functions.VectorDistance(s.Vector, vector))
    .Take(5)
    .ToListAsync();
Dominant language
C#
Stars
34
Forks
13
Avg merge
1d 10h
Merged PRs (30d)
19

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from googleapis/dotnet-spanner-entity-framework

All issues in googleapis/dotnet-spanner-entity-framework

Similar issues

More C# issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.