GraphBridge.EntityFrameworkCore.VectorData
0.1.0-preview.3
Prefix Reserved
dotnet add package GraphBridge.EntityFrameworkCore.VectorData --version 0.1.0-preview.3
NuGet\Install-Package GraphBridge.EntityFrameworkCore.VectorData -Version 0.1.0-preview.3
<PackageReference Include="GraphBridge.EntityFrameworkCore.VectorData" Version="0.1.0-preview.3" />
<PackageVersion Include="GraphBridge.EntityFrameworkCore.VectorData" Version="0.1.0-preview.3" />
<PackageReference Include="GraphBridge.EntityFrameworkCore.VectorData" />
paket add GraphBridge.EntityFrameworkCore.VectorData --version 0.1.0-preview.3
#r "nuget: GraphBridge.EntityFrameworkCore.VectorData, 0.1.0-preview.3"
#:package GraphBridge.EntityFrameworkCore.VectorData@0.1.0-preview.3
#addin nuget:?package=GraphBridge.EntityFrameworkCore.VectorData&version=0.1.0-preview.3&prerelease
#tool nuget:?package=GraphBridge.EntityFrameworkCore.VectorData&version=0.1.0-preview.3&prerelease

GraphBridge.EntityFrameworkCore.VectorData
Optional adapter for GraphBridge, the Entity Framework Core provider for Neo4j. It lets retrieval code search an existing Neo4j node or relationship vector index through Microsoft.Extensions.VectorData's IVectorSearchable<TRecord>, without depending on Neo4j types or GraphBridge methods. The core provider does not take this dependency.
<PackageReference Include="GraphBridge.EntityFrameworkCore.VectorData" Version="<version on this page>" />
Bind an index, then search through the interface
public sealed record MovieHit(string Title, long Released);
// Application setup: the only code that knows GraphBridge, the index and the stored properties.
services.AddScoped<IVectorSearchable<MovieHit>>(provider => provider.GetRequiredService<MoviesContext>().Database
.AsNodeVectorSearchable("movie_taste", movie => new MovieHit(movie["title"].As<string>(), movie["released"].As<long>())));
// Application code: depends only on the interface.
public sealed class MovieFinder(IVectorSearchable<MovieHit> search)
{
public IAsyncEnumerable<VectorSearchResult<MovieHit>> FindAsync(ReadOnlyMemory<float> embedding)
=> search.SearchAsync(embedding, top: 5);
}
AsRelationshipVectorSearchable does the same for relationship indexes.
What you get
| Inputs | ReadOnlyMemory<float>, float[] and Embedding<float>, copied exactly and never normalized |
| Scores | Neo4j's native similarity, unchanged: between 0 and 1, (1 + cos) / 2 for cosine and 1 / (1 + d²) for Euclidean |
| Behavior | The same index check, limits (1–10,000 results, 1–4,096 coordinates), transaction, cancellation and concurrency rules as GraphBridge's own vector search; results are never tracked |
| Clear refusals | Every non-default VectorSearchOptions setting (Filter, VectorProperty, Skip, IncludeVectors, ScoreThreshold) and every other input type fails before any database work |
Boundaries
- Search only. The index must already exist; nothing creates schema, writes records or generates embeddings.
- No pre-filtering. EF global query filters and tenant rules do not apply; use an index that holds only what the caller may search.
- Scores are not portable between vector stores, and
VectorSearchResulthas no provenance; GraphBridge'sQueryVectorNodesAsynckeeps the full observed index provenance. - The adapter borrows its context. Register it per scope, never as a singleton. With context pooling, an adapter kept beyond its scope fails clearly instead of running on another scope's context.
- Requires
Microsoft.Extensions.VectorData.Abstractions10.11.0 or later.
The design was proposed by Luis Quintanilla in issue #1. Read the VectorData guide and the documentation for GraphBridge itself. Feedback is welcome in GitHub issues. MIT licensed.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- GraphBridge.EntityFrameworkCore (>= 0.1.0-preview.3)
- Microsoft.Extensions.VectorData.Abstractions (>= 10.11.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0-preview.3 | 39 | 10/17/2026 |
Developer preview. Release notes and the breaking-change policy: https://github.com/joslat/GraphBridge.EFCore/blob/main/CHANGELOG.md