Skip to content
This repository was archived by the owner on Jan 22, 2026. It is now read-only.

Commit 9fc4613

Browse files
committed
Add ModelBuilderExtensions for XML documentation configuration
1 parent 97c644b commit 9fc4613

3 files changed

Lines changed: 9 additions & 20 deletions

File tree

src/EntityFrameworkCore/BitzArt.XDoc.EntityFrameworkCore/EntitiesDocumentationConfigurator.cs renamed to src/EntityFrameworkCore/BitzArt.XDoc.EntityFrameworkCore/ModelBuilderExtensions.cs

Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,24 @@
1-
using JetBrains.Annotations;
21
using Microsoft.EntityFrameworkCore;
32

43
namespace BitzArt.XDoc;
54

65
/// <summary>
7-
/// Configures XML documentation comments for Entity Framework Core entities and their properties.
6+
/// Extensions for configuring XML documentation comments for Entity Framework Core entities.
87
/// </summary>
9-
[PublicAPI]
10-
public class EntitiesDocumentationConfigurator
8+
public static class ModelBuilderExtensions
119
{
12-
private readonly XDoc _xDoc;
13-
14-
/// <summary>
15-
/// Default constructor.
16-
/// </summary>
17-
public EntitiesDocumentationConfigurator(XDoc xDoc)
18-
{
19-
_xDoc = xDoc;
20-
}
21-
2210
/// <summary>
23-
/// Configure comments for entities and properties.
11+
/// Configures XML documentation comments for Entity Framework Core entities and their properties.
2412
/// </summary>
2513
/// <param name="modelBuilder"></param>
26-
public void ConfigureComments(ModelBuilder modelBuilder)
14+
/// <param name="xDoc"></param>
15+
public static void ConfigureComments(this ModelBuilder modelBuilder, XDoc xDoc)
2716
{
2817
var entityTypes = modelBuilder.Model.GetEntityTypes();
2918

3019
foreach (var entityType in entityTypes)
3120
{
32-
var typeDocumentation = _xDoc.Get(entityType.ClrType);
21+
var typeDocumentation = xDoc.Get(entityType.ClrType);
3322

3423
if (typeDocumentation is null)
3524
{
@@ -67,7 +56,7 @@ public void ConfigureComments(ModelBuilder modelBuilder)
6756
continue;
6857
}
6958

70-
var propertyDocumentation = _xDoc.Get(propertyInfo);
59+
var propertyDocumentation = xDoc.Get(propertyInfo);
7160

7261
if (propertyDocumentation is null)
7362
{

tests/BitzArt.XDoc.TestNodes/TestMemberNode.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public string GetXml()
4848
""";
4949
}
5050

51-
private string Render(ParameterInfo p)
51+
private static string Render(ParameterInfo p)
5252
{
5353
var type = p.ParameterType;
5454
var typeName = type.FullName ?? type.Name;

tests/EntityFrameworkCore/BitzArt.XDoc.EntityFrameworkCore.Tests/EntitiesDocumentationConfiguratorTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public void ConfigureComments_SetsCommentsOnNonOwnedEntities()
1818
{
1919
modelBuilder.Entity<MyFirstClass>();
2020

21-
new EntitiesDocumentationConfigurator(xDoc).ConfigureComments(modelBuilder);
21+
modelBuilder.ConfigureComments(xDoc);
2222
});
2323

2424
// Act

0 commit comments

Comments
 (0)