Skip to content

Update EF Core SQLite packages to support 10.0.2#1105

Merged
aaronpowell merged 5 commits into
mainfrom
copilot/fix-sqlite-design-compatibility
Jan 19, 2026
Merged

Update EF Core SQLite packages to support 10.0.2#1105
aaronpowell merged 5 commits into
mainfrom
copilot/fix-sqlite-design-compatibility

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Jan 16, 2026

EF Core 10.0.2 introduced breaking changes causing MissingMethodException at runtime when used with the SQLite integration. EF Core 10.x only supports .NET 10.0, incompatible with the package's multi-targeting strategy.

Changes

Central package version updates:

  • Microsoft.EntityFrameworkCore.Design: 9.0.9 → 10.0.2
  • Microsoft.EntityFrameworkCore.Sqlite: 9.0.9 → 10.0.2
  • Microsoft.Data.Sqlite: 9.0.9 → 10.0.2
  • Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore: 8.0.20 → 10.0.2

Multi-targeting support via conditional version overrides:

  • .NET 8.0: EF Core 8.0.23, Microsoft.Data.Sqlite 8.0.23, HealthChecks 8.0.23
  • .NET 9.0: EF Core 9.0.9, Microsoft.Data.Sqlite 9.0.9, HealthChecks 9.0.9
  • .NET 10.0: EF Core 10.0.2, Microsoft.Data.Sqlite 10.0.2, HealthChecks 10.0.2, Hosting.Abstractions 10.0.2

Applied to both CommunityToolkit.Aspire.Microsoft.EntityFrameworkCore.Sqlite and CommunityToolkit.Aspire.Microsoft.Data.Sqlite projects using VersionOverride in conditional ItemGroup elements per target framework.

Scope focused on EF Core packages only:

  • DotNetExtensionsVersion remains at 10.0.1
  • Required dependencies (Microsoft.Extensions.Diagnostics.HealthChecks and Microsoft.Extensions.Hosting.Abstractions) for .NET 10.0 use explicit version overrides to 10.0.2 to satisfy EF Core 10.0.2 requirements
Original prompt

This section details on the original issue you should resolve

<issue_title>CommunityToolkit.Aspire.Microsoft.EntityFrameworkCore.Sqlite 9.7.2 (latest) cannot work with Microsoft.EntityFrameworkCore.Design 10.0.2</issue_title>
<issue_description>### Describe the bug

CommunityToolkit.Aspire.Microsoft.EntityFrameworkCore.Sqlite (9.7.2) (the latest)
Microsoft.EntityFrameworkCore.Design (8.0.2) (ok)
Microsoft.EntityFrameworkCore.Design (10.0.2) (fail)

Image

Regression

Microsoft.EntityFrameworkCore.Design (8.0.2)

Steps to reproduce

using Projects;
var builder = DistributedApplication.CreateBuilder(args);
var sqlite = builder.AddSqlite("sqlite", "c:\\databases", "mydata.db")
    .WithSqliteWeb();
var webapi = builder.AddProject<WebApi>("webapi")
    .WithReference(sqlite)
    .WaitFor(sqlite);
builder.Build().Run();



using Microsoft.EntityFrameworkCore;

var builder = WebApplication.CreateBuilder(args);
builder.AddServiceDefaults();
builder.AddSqliteDbContext<AppDbContext>("sqlite", configureDbContextOptions: options =>
{
    if (!builder.Environment.IsDevelopment())
        return;

    options.UseSeeding((context, _) =>
    {
        context.Add(new Todo { Description = "Clean main room" });
        context.Add(new Todo { Description = "Wash dishes" });
        context.Add(new Todo { Description = "Turn all lamps" });

        context.SaveChanges();
    });

    options.UseAsyncSeeding(async (context, _, cantok) =>
    {
        context.Add(new Todo { Description = "Clean main room" });
        context.Add(new Todo { Description = "Wash dishes" });
        context.Add(new Todo { Description = "Turn all lamps" });

        await context.SaveChangesAsync(cantok);
    });
});

var app = builder.Build();

app.MapDefaultEndpoints();
if(app.Environment.IsDevelopment())
{
    using var scope = app.Services.CreateScope();
    var context = scope.ServiceProvider.GetRequiredService<AppDbContext>();
    context.Database.EnsureDeleted();
    context.Database.Migrate();
}
app.MapGet("", async (AppDbContext context, CancellationToken cantok) =>
{
    var todos = await context.Todos.ToListAsync(cantok);

    return Results.Ok(todos);
});

app.Run();



public sealed class AppDbContext(DbContextOptions<AppDbContext> options)
    : DbContext(options)
{
    public DbSet<Todo> Todos => Set<Todo>();
}
public sealed class Todo
{
    public int Id { get; set; }
    public required string Description { get; set; }
    public bool IsDone { get; set; }
}

Expected behavior

It should work for 10.0.2 too.

Or ideally, update CommunityToolkit.Aspire.Microsoft.EntityFrameworkCore.Sqlite from 9.7.2 to 13.x.x.

Screenshots

No response

IDE and version

Other

IDE version

No response

Nuget packages


Additional context

No response

Help us help you

Yes, I'd like to be assigned to work on this item</issue_description>

<agent_instructions>Here's the NuGet package link - make sure to update the version: https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite/#versions-body-tab</agent_instructions>

Comments on the Issue (you are @copilot in this section)

@aaronpowell Yep, we should update to the latest nuget package (it's probably just a miss update due to timings of when the ef packages for .NET 10 shipped)

✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix compatibility issue between CommunityToolkit and EF Core Design Update EF Core SQLite packages to support 10.0.2 Jan 16, 2026
Copilot AI requested a review from aaronpowell January 16, 2026 00:54
Copilot AI temporarily deployed to azure-artifacts January 16, 2026 01:04 Inactive
Comment thread Directory.Build.props Outdated
<AspirePreviewSuffix>-preview.1.25616.3</AspirePreviewSuffix>
<AspNetCoreVersion>9.0.0</AspNetCoreVersion>
<DotNetExtensionsVersion>10.0.1</DotNetExtensionsVersion>
<DotNetExtensionsVersion>10.0.2</DotNetExtensionsVersion>
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot I think we can revert this back as we want to only focus on EF

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reverted DotNetExtensionsVersion back to 10.0.1. Added version overrides for Microsoft.Extensions.Diagnostics.HealthChecks and Microsoft.Extensions.Hosting.Abstractions in the EF Core project to ensure compatibility with EF Core 10.0.2 while keeping the focus on EF Core packages only. (4c20a93)

@aaronpowell aaronpowell marked this pull request as ready for review January 16, 2026 03:59
Copilot AI review requested due to automatic review settings January 16, 2026 03:59
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates EF Core SQLite packages to version 10.0.2 and implements a multi-targeting strategy to maintain compatibility across .NET 8.0, 9.0, and 10.0. The changes address runtime MissingMethodException errors that occur when using EF Core 10.0.2 with the existing SQLite integration due to breaking changes in EF Core 10.x.

Changes:

  • Updated central package versions to EF Core 10.0.2 and related packages
  • Implemented conditional version overrides for each target framework (net8.0 → EF 8.0.23, net9.0 → EF 9.0.9, net10.0 → EF 10.0.2)
  • Applied multi-targeting strategy to both CommunityToolkit.Aspire.Microsoft.EntityFrameworkCore.Sqlite and CommunityToolkit.Aspire.Microsoft.Data.Sqlite projects

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

File Description
Directory.Packages.props Updated central package versions for EF Core, SQLite, and related packages from 9.0.9 to 10.0.2; updated DotNetExtensionsVersion from 10.0.1 to 10.0.2
Directory.Build.props Updated DotNetExtensionsVersion from 10.0.1 to 10.0.2 for consistency
CommunityToolkit.Aspire.Microsoft.EntityFrameworkCore.Sqlite.csproj Implemented conditional ItemGroups with VersionOverride to provide framework-specific EF Core package versions
CommunityToolkit.Aspire.Microsoft.Data.Sqlite.csproj Implemented conditional ItemGroups with VersionOverride to provide framework-specific SQLite package versions

Copilot AI and others added 3 commits January 16, 2026 04:03
… for EF Core 10

Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>
… groups

Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>
Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>
@github-actions
Copy link
Copy Markdown
Contributor

Code Coverage

Package Line Rate Branch Rate Complexity Health
CommunityToolkit.Aspire.GoFeatureFlag 100% 97% 74
CommunityToolkit.Aspire.Hosting.ActiveMQ 78% 40% 108
CommunityToolkit.Aspire.Hosting.ActiveMQ.MassTransit 1% 0% 14
CommunityToolkit.Aspire.Hosting.Adminer 74% 50% 20
CommunityToolkit.Aspire.Hosting.Azure.Dapr 29% 7% 124
CommunityToolkit.Aspire.Hosting.Azure.Dapr.Redis 62% 38% 80
CommunityToolkit.Aspire.Hosting.Azure.DataApiBuilder 100% 100% 22
CommunityToolkit.Aspire.Hosting.Bun 96% 83% 28
CommunityToolkit.Aspire.Hosting.Dapr 60% 37% 856
CommunityToolkit.Aspire.Hosting.DbGate 94% 50% 18
CommunityToolkit.Aspire.Hosting.Deno 98% 85% 44
CommunityToolkit.Aspire.Hosting.Elasticsearch.Extensions 99% 93% 46
CommunityToolkit.Aspire.Hosting.Flagd 79% 100% 32
CommunityToolkit.Aspire.Hosting.Flyway 94% 100% 8
CommunityToolkit.Aspire.Hosting.GoFeatureFlag 88% 73% 36
CommunityToolkit.Aspire.Hosting.Golang 51% 40% 88
CommunityToolkit.Aspire.Hosting.Java 70% 75% 130
CommunityToolkit.Aspire.Hosting.JavaScript.Extensions 97% 85% 200
CommunityToolkit.Aspire.Hosting.k6 58% 12% 20
CommunityToolkit.Aspire.Hosting.Keycloak.Extensions 100% 100% 22
CommunityToolkit.Aspire.Hosting.KurrentDB 71% 75% 34
CommunityToolkit.Aspire.Hosting.LavinMQ 74% 50% 26
CommunityToolkit.Aspire.Hosting.LavinMQ.MassTransit 1% 0% 14
CommunityToolkit.Aspire.Hosting.MailPit 85% 50% 22
CommunityToolkit.Aspire.Hosting.McpInspector 78% 45% 210
CommunityToolkit.Aspire.Hosting.Meilisearch 71% 57% 58
CommunityToolkit.Aspire.Hosting.Minio 88% 75% 56
CommunityToolkit.Aspire.Hosting.MongoDB.Extensions 95% 90% 20
CommunityToolkit.Aspire.Hosting.MySql.Extensions 98% 92% 62
CommunityToolkit.Aspire.Hosting.Ngrok 52% 35% 82
CommunityToolkit.Aspire.Hosting.Ollama 65% 69% 260
CommunityToolkit.Aspire.Hosting.OpenTelemetryCollector 78% 61% 77
CommunityToolkit.Aspire.Hosting.PapercutSmtp 81% 50% 18
CommunityToolkit.Aspire.Hosting.PostgreSQL.Extensions 98% 90% 74
CommunityToolkit.Aspire.Hosting.Python.Extensions 45% 29% 100
CommunityToolkit.Aspire.Hosting.RavenDB 56% 45% 184
CommunityToolkit.Aspire.Hosting.Redis.Extensions 100% 71% 28
CommunityToolkit.Aspire.Hosting.Rust 94% 83% 16
CommunityToolkit.Aspire.Hosting.Sftp 59% 32% 40
CommunityToolkit.Aspire.Hosting.Solr 72% 100% 22
CommunityToolkit.Aspire.Hosting.SqlDatabaseProjects 51% 48% 192
CommunityToolkit.Aspire.Hosting.Sqlite 89% 89% 52
CommunityToolkit.Aspire.Hosting.SqlServer.Extensions 98% 90% 62
CommunityToolkit.Aspire.Hosting.Stripe 51% 30% 82
CommunityToolkit.Aspire.Hosting.SurrealDb 54% 38% 256
CommunityToolkit.Aspire.KurrentDB 94% 92% 54
CommunityToolkit.Aspire.MassTransit.RabbitMQ 100% 100% 30
CommunityToolkit.Aspire.Meilisearch 97% 92% 68
CommunityToolkit.Aspire.Microsoft.Data.Sqlite 89% 85% 52
CommunityToolkit.Aspire.Microsoft.EntityFrameworkCore.Sqlite 61% 58% 114
CommunityToolkit.Aspire.Minio.Client 90% 85% 112
CommunityToolkit.Aspire.OllamaSharp 78% 71% 134
CommunityToolkit.Aspire.RavenDB.Client 60% 53% 237
CommunityToolkit.Aspire.Sftp 86% 78% 86
CommunityToolkit.Aspire.SurrealDb 79% 63% 78
Summary 68% (7830 / 11590) 55% (2143 / 3878) 4982

Minimum allowed line rate is 60%

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CommunityToolkit.Aspire.Microsoft.EntityFrameworkCore.Sqlite 9.7.2 (latest) cannot work with Microsoft.EntityFrameworkCore.Design 10.0.2

3 participants