Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
cfa0e9d
Convert the docs generation custom agent to a skill (#5332)
roji Apr 15, 2026
90db92a
Document migration locking (#5330)
Copilot Apr 16, 2026
a8a5753
Document ToTable(null, buildAction) breaking change in EF Core 7.0 (#…
Copilot Apr 17, 2026
3098769
Add EF9 breaking change for EF.Constant/EF.Parameter in compiled quer…
roji Apr 22, 2026
33a6ce6
Add standup (#5344)
cincuranet Apr 23, 2026
135128b
Add EFCore.Migrations.AutoComments and EFCore.Migrations.CustomSql ex…
AndreqGav May 8, 2026
7d96626
Add provider-facing breaking change for JsonPath (PR #38038) to EF Co…
Copilot Apr 8, 2026
33fdddd
Update docs for EF Core 11 full-text/vector API renames (#5315)
roji Apr 9, 2026
83778bf
Document temporal period properties mapped to CLR properties (#5336)
roji Apr 16, 2026
eec8f0c
Document additional DateTimeOffset translations (#5334)
roji Apr 16, 2026
4cd36b4
docs: Add dotnet-ef JSON config file feature (EF Core 11) (#5342)
Copilot Apr 24, 2026
cdbbfc8
docs: Add EF6 6.5.1 and 6.5.2 patch release notes
ericsampson May 18, 2026
287af74
Fix broken extension-getenumerator link in ef-core-6.0 breaking-chang…
Copilot May 19, 2026
9bd1444
Add standup (#5363)
cincuranet May 22, 2026
0766a76
Fix broken Hot Chocolate EF Core integration link (#5361)
Copilot May 22, 2026
06753e5
Fix hyphen (#5364)
cincuranet May 22, 2026
527418c
Change ms.product to ms.service in index.yml (#5367)
gewarren May 28, 2026
6e94ce1
Document parameterless constructor requirement for ApplyConfiguration…
Aykuttonpc May 23, 2026
eed241b
docs: mention no-pluralize in scaffolding guide
EduardF1 May 30, 2026
058a5fc
docs: fix UsingEntity lambda order in scaffolding sample (#5370)
EduardF1 Jun 2, 2026
7971e6e
Merge branch 'main' into preview.5
AndriySvyryd Jun 9, 2026
653b73d
Add DuckDB (#5375)
denis-ivanov Jun 9, 2026
ce1a597
docs: update vector search page date
Copilot Jun 9, 2026
b2d6d0c
Fix heading capitalization to use sentence case for H2+ headings (#5376)
GOVINSAGA Jun 9, 2026
66188da
Merge pull request #5379 from dotnet/preview.5
AndriySvyryd Jun 9, 2026
aada80d
Fix formatting in EF Core providers index table (#5386)
cincuranet Jun 15, 2026
81f4e4e
Set author to SamMonoRT across documentation front matter and remove …
Copilot Jun 24, 2026
3c35c12
Add note about PendingModelChangesWarning behavior in EF Core 9 (#5390)
sayinbrahim Jun 24, 2026
93a1a1f
Fix link. (#5397)
cincuranet Jun 25, 2026
98491a6
Add standup (#5400)
cincuranet Jun 26, 2026
74dc75f
Fix duplicate-word and garbled-word typos across documentation (#5401)
EduardF1 Jun 26, 2026
4452993
Update standups page date (#5404)
cincuranet Jun 29, 2026
16e474b
Document SQL parameter name simplification as a low-impact breaking c…
Copilot Jul 1, 2026
8165335
Document Cosmos DB id mapping changes in EF Core 9.0 and add SDK migr…
Copilot Jul 7, 2026
f62650a
Document EF Core 9 breaking change: NoTrackingWithIdentityResolution …
Copilot Jul 7, 2026
bf3cc19
Add note about EF Core 9 PendingModelChangesWarning behavior (#5402)
sayinbrahim Jul 8, 2026
28d873a
Preview.6 docs (#5410)
AndriySvyryd Jul 13, 2026
945c97b
Update warning about split queries and ordering (#5420)
ali-alo Jul 13, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
---
name: EF Documentation Generator
description: This agent creates documentation PRs in the EF documentation site when new features are implemented in EF Core.
disable-model-invocation: true
name: Generate EF documentation
description: Create documentation PRs in the EF documentation site when new features are implemented in EF Core.
---

# Document new EF features

Given an EF issue by the user, this custom agent generates documentation for features introduced in that issue and submits a PR to the EF docs repo (dotnet/EntityFramework.Docs).
Given an EF issue and/or PR, this skill generates documentation for features introduced in that issue/PR and submits a PR to the EF docs repo (dotnet/EntityFramework.Docs).

## Target branch

Expand Down
12 changes: 11 additions & 1 deletion entity-framework/core/cli/dotnet.md
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,10 @@ Options:

| Option | Description |
|:------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------|
| <nobr>`--connection <CONNECTION>`</nobr> | The connection string to the database. Defaults to the one specified in `AddDbContext` or `OnConfiguring`. |
| <nobr>`--connection <CONNECTION>`</nobr> | The connection string to the database. Defaults to the one specified in `AddDbContext` or `OnConfiguring`. |
| <nobr>`--add`</nobr> | Creates a new migration and applies it to the database in a single step. Uses Roslyn to compile the migration at runtime. When specified, the `<MIGRATION>` argument is required and provides the name for the new migration. Added in EF Core 11. |
| <nobr>`--output-dir <PATH>`</nobr> | The directory to put migration files in. Paths are relative to the target project directory. Requires `--add`. Added in EF Core 11. |
| <nobr>`--namespace <NAMESPACE>`</nobr> | The namespace to use for the generated migration classes. Requires `--add`. Added in EF Core 11. |

The [common options](#common-options) are listed above.

Expand All @@ -163,6 +166,13 @@ dotnet ef database update InitialCreate
dotnet ef database update 20180904195021_InitialCreate --connection your_connection_string
```

The following examples create a new migration and apply it to the database in one step:

```dotnetcli
dotnet ef database update InitialCreate --add
dotnet ef database update AddProducts --add --output-dir Migrations/Products --namespace MyApp.Migrations
```

## `dotnet ef dbcontext info`

Gets information about a `DbContext` type.
Expand Down
9 changes: 9 additions & 0 deletions entity-framework/core/cli/powershell.md
Original file line number Diff line number Diff line change
Expand Up @@ -316,6 +316,9 @@ Updates the database to the last migration or to a specified migration.
|:------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| <nobr>`-Migration <String>`</nobr> | The target migration. Migrations may be identified by name or by ID. The number 0 is a special case that means *before the first migration* and causes all migrations to be reverted. If no migration is specified, the command defaults to the last migration. |
| <nobr>`-Connection <String>`</nobr> | The connection string to the database. Defaults to the one specified in `AddDbContext` or `OnConfiguring`. |
| <nobr>`-Add`</nobr> | Creates a new migration and applies it to the database in a single step. Uses Roslyn to compile the migration at runtime. When specified, a migration name is required and provides the name for the new migration. Added in EF Core 11. |
| <nobr>`-OutputDir <String>`</nobr> | The directory to put migration files in. Paths are relative to the target project directory. Requires `-Add`. Added in EF Core 11. |
| <nobr>`-Namespace <String>`</nobr> | The namespace to use for the generated migration classes. Requires `-Add`. Added in EF Core 11. |

The [common parameters](#common-parameters) are listed above.

Expand All @@ -335,6 +338,12 @@ Update-Database InitialCreate
Update-Database 20180904195021_InitialCreate -Connection your_connection_string
```

The following example creates a new migration and applies it to the database in one step:

```powershell
Update-Database -Migration InitialCreate -Add
```

## Additional resources

* [Migrations](xref:core/managing-schemas/migrations/index)
Expand Down
12 changes: 12 additions & 0 deletions entity-framework/core/extensions/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -304,6 +304,18 @@ All xml summaries of entities, properties, and enums will be added as comments o

[GitHub repository](https://github.com/roohial57/DotNetComponent_EFCommenter) | [NuGet](https://www.nuget.org/packages/EFCommenter)

### EFCore.Migrations.AutoComments

Automatically applies database comments to tables and columns from XML `<summary>` tags. For EF Core: 6-10.

[GitHub repository](https://github.com/AndreqGav/EFCore.Migrations.AutoComments) | [NuGet](https://www.nuget.org/packages/EFCore.Migrations.AutoComments)

### EFCore.Migrations.CustomSql

Tracks custom SQL and database objects (views, functions, triggers, etc.) as part of the EF model with auto-generated Up/Down migration code. Provider packages add support for specific database engines. For EF Core: 6-9.

[GitHub repository](https://github.com/AndreqGav/EFCore.Migrations.CustomSql) | [NuGet](https://www.nuget.org/packages/EFCore.Migrations.CustomSql)

## API Integrations

These packages are designed to integrate directly with EF Core to expose various APIs.
Expand Down
2 changes: 1 addition & 1 deletion entity-framework/core/get-started/overview/first-app.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Getting Started - EF Core
description: Getting started tutorial for Entity Framework Core
author: rick-anderson
author: SamMonoRT
ms.date: 09/17/2019
uid: core/get-started/overview/first-app
---
Expand Down
6 changes: 3 additions & 3 deletions entity-framework/core/get-started/winforms.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ The screen shots and code listings in this walkthrough are taken from Visual Stu

You need to have Visual Studio 2022 17.3 or later installed with the **.NET desktop workload** selected to complete this walkthrough. For more information about installing the latest version of Visual Studio, see [Install Visual Studio](/visualstudio/install/install-visual-studio).

## Create the Application
## Create the application

1. Open Visual Studio
2. On the start window, choose **Create new project**.
Expand Down Expand Up @@ -48,7 +48,7 @@ You need to have Visual Studio 2022 17.3 or later installed with the **.NET desk
> [!NOTE]
> The **Microsoft.EntityFrameworkCore.Sqlite** is the "database provider" package for using EF Core with a SQLite database. Similar packages are available for other database systems. Installing a database provider package automatically brings in all the dependencies needed to use EF Core with that database system. This includes the **Microsoft.EntityFrameworkCore** base package.

## Define a Model
## Define a model

In this walkthrough we will implement a model using "Code First". This means that EF Core will create the database tables and schema based on the C# classes you define. See [Managing Database Schemas](xref:core/managing-schemas/index) to see how to use an existing database instead.

Expand Down Expand Up @@ -103,7 +103,7 @@ The application will show a list of categories and a list of products. When a ca
4. In the **Properties** for the first `DataGridView`, change the **Name** to `dataGridViewCategories`.
5. In the **Properties** for the second `DataGridView`, change the **Name** to `dataGridViewProducts`.
6. Also using the **Toolbox**, add a `Button` control.
7. Name the button `buttonSave` and give it the text "Save". The form should look something this this:
7. Name the button `buttonSave` and give it the text "Save". The form should look something like this:

![Form layout](_static/winforms-form-layout.png)

Expand Down
23 changes: 11 additions & 12 deletions entity-framework/core/get-started/wpf.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
---
title: Get Started with WPF - EF Core
description: Getting started tutorial for using WPF with Entity Framework Core
author: jeremylikness
ms.author: jeliknes
author: SamMonoRT
ms.date: 07/24/2020
uid: core/get-started/wpf
---
Expand All @@ -17,11 +16,11 @@ The screen shots and code listings in this walkthrough are taken from Visual Stu
> [!TIP]
> You can view this article's [sample on GitHub](https://github.com/dotnet/EntityFramework.Docs/tree/main/samples/core/WPF).

## Pre-Requisites
## Pre-requisites

You need to have Visual Studio 2019 16.3 or later installed with the **.NET desktop workload** selected to complete this walkthrough. For more information about installing the latest version of Visual Studio, see [Install Visual Studio](/visualstudio/install/install-visual-studio).

## Create the Application
## Create the application

1. Open Visual Studio
2. On the start window, choose **Create new project**.
Expand All @@ -45,7 +44,7 @@ You need to have Visual Studio 2019 16.3 or later installed with the **.NET desk
> [!NOTE]
> When you installed the Sqlite package, it automatically pulled down the related **Microsoft.EntityFrameworkCore** base package. The **Microsoft.EntityFrameworkCore.Proxies** package provides support for "lazy-loading" data. This means when you have entities with child entities, only the parents are fetched on the initial load. The proxies detect when an attempt to access the child entities is made and automatically loads them on demand.

## Define a Model
## Define a model

In this walkthrough you will implement a model using "code first." This means that EF Core will create the database tables and schema based on the C# classes you define.

Expand Down Expand Up @@ -83,15 +82,15 @@ Press **CTRL+SHIFT+B** or navigate to **Build &gt; Build Solution** to compile t
> [!TIP]
> Learn about the different was to keep your database and EF Core models in sync: [Managing Database Schemas](xref:core/managing-schemas/index).

## Lazy Loading
## Lazy loading

The **Products** property on the **Category** class and **Category** property on the **Product** class are navigation properties. In Entity Framework Core, navigation properties provide a way to navigate a relationship between two entity types.

EF Core gives you an option of loading related entities from the database automatically the first time you access the navigation property. With this type of loading (called lazy loading), be aware that the first time you access each navigation property a separate query will be executed against the database if the contents are not already in the context.

When using "Plain Old C# Object" (POCO) entity types, EF Core achieves lazy loading by creating instances of derived proxy types during runtime and then overriding virtual properties in your classes to add the loading hook. To get lazy loading of related objects, you must declare navigation property getters as **public** and **virtual** (**Overridable** in Visual Basic), and your class must not be **sealed** (**NotOverridable** in Visual Basic). When using Database First, navigation properties are automatically made virtual to enable lazy loading.

## Bind Object to Controls
## Bind object to controls

Add the classes that are defined in the model as data sources for this WPF application.

Expand All @@ -108,7 +107,7 @@ Add the classes that are defined in the model as data sources for this WPF appli

1. Note that the `CategoryId` is set to `ReadOnly` because it is assigned by the database and cannot be changed.

## Adding a Details Grid
## Adding a details grid

Now that the grid exists to display categories, the details grid can be added to show products. Add this inside the
`Grid` element, after the categories `DataGrid` element.
Expand All @@ -125,7 +124,7 @@ Your design view should look like this:

![Screenshot of WPF Designer](_static/wpf-tutorial-designer.jpg)

## Add Code that Handles Data Interaction
## Add code that handles data interaction

It's time to add some event handlers to the main window.

Expand All @@ -145,13 +144,13 @@ The code declares a long-running instance of `ProductContext`. The `ProductConte
> [!NOTE]
> The code uses a call to `EnsureCreated()` to build the database on the first run. This is acceptable for demos, but in production apps you should look at [migrations](xref:core/managing-schemas/migrations/index) to manage your schema. The code also executes synchronously because it uses a local SQLite database. For production scenarios that typically involve a remote server, consider using the asynchronous versions of the `Load` and `SaveChanges` methods.

## Test the WPF Application
## Test the WPF application

Compile and run the application by pressing **F5** or choosing **Debug &gt; Start Debugging**. The database should be automatically created with a file named `products.db`. Enter a category name and hit enter, then add products to the lower grid. Click save and watch the grid refresh with the database provided ids. Highlight a row and hit **Delete** to remove the row. The entity will be deleted when you click **Save**.

![Running application](_static/wpf-tutorial-app.jpg)

## Property Change Notification
## Property change notification

This example relies on four steps to synchronize the entities with the UI.

Expand All @@ -165,6 +164,6 @@ This works for our getting started sample, but you may require additional code f
> [!TIP]
> To learn more about how to handle changes, read: [How to implement property change notification](/dotnet/framework/wpf/data/how-to-implement-property-change-notification).

## Next Steps
## Next steps

Learn more about [Configuring a DbContext](xref:core/dbcontext-configuration/index).
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
---
description: A local database that doesn't require the user to be authenticated
author: rick-anderson
ms.author: wpickett
author: SamMonoRT
ms.date: 10/23/2024
ms.topic: include
title: an include file
Expand Down
48 changes: 45 additions & 3 deletions entity-framework/core/learn-more/community-standups.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: .NET Data Community Standups
description: Details and links for each episode of the .NET Data Community Standup
author: SamMonoRT
ms.date: 02/23/2024
ms.date: 06/26/2026
uid: core/learn-more/community-standups
---

Expand All @@ -14,6 +14,9 @@ The .NET Data Community Standups are live-streamed monthly (roughly) on Thursday

| Date | Area | Title |
|--------------|-----------------------|------------------------------------------------------------------------------------------|
| Jun 25, 2026 | Temporal tables | [Temporal tables and constraints in SQL Server and PostgreSQL 18](#Jun25_2026) |
| May 21, 2026 | EF Core | [8 Real-World Query Anti-Patterns (and How to Fix Them)](#May21_2026) |
| Apr 23, 2026 | Tools | [Lightweight Framework to Automate EF Components](#Apr23_2026) |
| Mar 19, 2026 | DevArt | [How dotConnect + Entity Developer simplify your workflow](#Mar19_2026) |
| Feb 12, 2026 | AI | [Adam tells us about Microsoft.Extensions.DataIngestion](#Feb12_2026) |
| Nov 20, 2025 | Release | [EF 10 release celebration 🎉](#Nov20_2025) |
Expand Down Expand Up @@ -110,6 +113,45 @@ The .NET Data Community Standups are live-streamed monthly (roughly) on Thursday

## 2026

<a name="Jun25_2026"></a>

### Jun 25: [Temporal tables and constraints in SQL Server and PostgreSQL 18](https://www.youtube.com/live/BcbhBFm1MuU?si=qczW0FmktU9xq3c3)

In this session we'll take a deep look at temporal tables and constraints in database. The recently-released PostgreSQL 18 contains new temporal constraint functionality that superficially looks similar to SQL Server's temporal tables, but the two are in reality quite different. We'll dive into the details, compare the two and discuss two completely different concepts of what it means to store temporal data in databases.

Featuring:

- [Shay Rojansky](https://www.roji.org/) (Special guest)
- [Jiri Cincura](https://www.tabsoverspaces.com/) (Host)

<a name="May21_2026"></a>

### May 21: [8 Real-World Query Anti-Patterns (and How to Fix Them)](https://www.youtube.com/live/jlR6KFuFODI?si=PSCUNSrqo0-fVDJw)

Join us for another show, where Chris Woodruff teaches us about 8 query anti-patterns and how to fix them.

Featuring:

- [Chris Woodruff](https://woodruff.dev/) (Special guest)
- [Jiri Cincura](https://www.tabsoverspaces.com/) (Host)
- [Shay Rojansky](https://www.roji.org/) (Host)

<a name="Apr23_2026"></a>

### Apr 23: [Lightweight Framework to Automate EF Components](https://www.youtube.com/live/qTE6_VAMzS4?si=Q3lqINl3l_NQj4Mf)

Join us for a stream where Klaus Kirchhoff introduces "Lightweight Framework to Automate EF Components".

Featuring:

- [Klaus Kirchhoff](https://jobbots24.de/) (Special guest)
- [Jiri Cincura](https://www.tabsoverspaces.com/) (Host)
- [Shay Rojansky](https://www.roji.org/) (Host)

Links:

- [jb24-DbFactory](https://jobbots24.de/#section3)

<a name="Mar19_2026"></a>

### Mar 19: [How dotConnect + Entity Developer simplify your workflow](https://www.youtube.com/live/2QX2qHvGbCE?si=xikIyOFYi3eTXLVx)
Expand Down Expand Up @@ -419,8 +461,8 @@ Featuring:

Links:

- Product: [Hot Chocolate for GraphQL](https://chillicream.com/docs/hotchocolate)
- Docs: [Hot Chocolate and Entity Framework Core](https://chillicream.com/docs/hotchocolate/integrations/entity-framework)
- Product: [Hot Chocolate for GraphQL](https://chillicream.com/docs/hotchocolate/v14)
- Docs: [Hot Chocolate and Entity Framework Core](https://chillicream.com/docs/hotchocolate/v14/integrations/entity-framework)

<a name="value-generation"></a>

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Metrics - EF Core
description: Tracking EF Core performance and diagnosing anomalies with .NET metrics
author: cincuranet
author: SamMonoRT
ms.date: 06/11/2024
uid: core/logging-events-diagnostics/metrics
---
Expand Down
Loading
Loading