Skip to content

Commit ddc1907

Browse files
committed
refactor(core): add generic ID support to BaseEntity and BaseUser
Replaced non-generic BaseEntity with BaseEntity<TId> across core abstractions and repository interfaces. This allows greater flexibility for entity ID types.
1 parent ed10bcb commit ddc1907

File tree

4 files changed

+4
-4
lines changed

4 files changed

+4
-4
lines changed

Sources/EasyExtensions.EntityFrameworkCore/Abstractions/BaseEntity.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public abstract class BaseEntity<TId> : AuditableEntity where TId : struct
3030
/// </summary>
3131
/// <param name="entity">Entity to update.</param>
3232
/// <exception cref="NotImplementedException">Update method is not overriden in inherited class.</exception>
33-
public virtual void Update(BaseEntity entity)
33+
public virtual void Update(BaseEntity<TId> entity)
3434
{
3535
throw new NotImplementedException("Update method is not overriden in inherited class.");
3636
}

Sources/EasyExtensions.EntityFrameworkCore/Abstractions/BaseUser.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ namespace EasyExtensions.EntityFrameworkCore.Abstractions
55
/// <summary>
66
/// Base model for user.
77
/// </summary>
8-
public abstract class BaseUser : BaseEntity
8+
public abstract class BaseUser<TId> : BaseEntity<TId> where TId : struct
99
{
1010
/// <summary>
1111
/// User name.

Sources/EasyExtensions.EntityFrameworkCore/Repository/BaseDbSetRepository.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ namespace EasyExtensions.EntityFrameworkCore.Repository
1313
/// <param name="db">Database set of entities.</param>
1414
/// <param name="saveChangesCallback">Callback for changes saving.</param>
1515
public abstract class BaseDbSetRepository<TItem>(DbSet<TItem> db, Func<CancellationToken, Task<int>>? saveChangesCallback)
16-
: IRepository<TItem> where TItem : BaseEntity
16+
: IRepository<TItem> where TItem : BaseEntity<int>
1717
{
1818
private readonly DbSet<TItem> db = db;
1919
private readonly Func<CancellationToken, Task<int>>? saveChangesCallback = saveChangesCallback;

Sources/EasyExtensions.EntityFrameworkCore/Repository/IRepository.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ namespace EasyExtensions.EntityFrameworkCore.Repository
88
/// Represents a generic repository interface for accessing and manipulating entities of type TItem.
99
/// </summary>
1010
/// <typeparam name="TItem">The type of entity.</typeparam>
11-
public interface IRepository<TItem> : IRepository where TItem : BaseEntity
11+
public interface IRepository<TItem> : IRepository where TItem : BaseEntity<int>
1212
{
1313
/// <summary>
1414
/// Retrieves an entity by its ID asynchronously.

0 commit comments

Comments
 (0)