SimpleEfCoreRepository 1.0.2
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package SimpleEfCoreRepository --version 1.0.2
NuGet\Install-Package SimpleEfCoreRepository -Version 1.0.2
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SimpleEfCoreRepository" Version="1.0.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SimpleEfCoreRepository" Version="1.0.2" />
<PackageReference Include="SimpleEfCoreRepository" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SimpleEfCoreRepository --version 1.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: SimpleEfCoreRepository, 1.0.2"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=SimpleEfCoreRepository&version=1.0.2
#tool nuget:?package=SimpleEfCoreRepository&version=1.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
EF.Core.Repository
Simple repository for Ef.Core with basic CRUD functionality The reason I implemented this is because I found myself re-writing basic CRUD functionality over and over again. Most of the time:
- use
.include(...)
to include eager load associated entities - update (add/delete/update) children properties by Id
Basic setup
- Entity should implement
IEntity<TId>
public class DummyModel : IEntity<int>
{
public int Id { get; set; }
public string Name { get; set; }
public List<Nested> Children { get; set; }
}
- Create profile which is used to update an entity given a DTO
public class DummyModelProfile : IEntityProfile<DummyModel, int>
{
private readonly IEntityProfileAuxiliary _auxiliary;
// Optionally inject utility for list add/delete
public DummyModelProfile(IEntityProfileAuxiliary auxiliary)
{
_auxiliary = auxiliary;
}
public DummyModel Update(DummyModel entity, DummyModel dto)
{
entity.Name = dto.Name;
// ModifyList will try to add/delete entities based on Id based on whether they
// appear in dto.Children or not
entity.Children = _auxiliary.ModifyList<Nested, int>(entity.Children, dto.Children);
// Return entity or response
// This will be used as a return value for update method in BasicCrud
return entity;
}
// Intercept IQueryable to include related entities
public IQueryable<DummyModel> Include<TQueryable>(TQueryable queryable) where TQueryable : IQueryable<DummyModel>
{
return queryable.Include(x => x.Children);
}
}
- Register dependency via
IServiceCollection
extension
var serviceProvider = services
.AddEfRepository<EntityDbContext>(options => options
.Profiles(Assembly.GetExecutingAssembly()));
- Use
IBasicCrud
IEfRepository repo = ... // DI inject IEfRepository
// Get IBasicCrud instance
IBasicCrud<DummyModel> = repo.For<DummyModel>();
- Available methods in
IBasicCrud
Task<IEnumerable<TSource>> GetAll();
Task<TSource> Get(id);
Task<TSource> Save(dto);
Task<TSource> Delete(id);
Task<TSource> Update(id, dto);
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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. |
.NET Core | netcoreapp3.1 is compatible. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETCoreApp 3.1
- Microsoft.EntityFrameworkCore (>= 3.1.4)
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 | |
---|---|---|---|
3.1.15 | 174 | 6/16/2025 | |
3.1.14 | 1,001 | 4/4/2025 | |
3.1.13 | 149 | 4/4/2025 | |
3.1.12 | 148 | 4/4/2025 | |
3.1.11 | 160 | 4/3/2025 | |
3.1.10 | 211 | 3/31/2025 | |
3.1.8 | 578 | 3/24/2025 | |
3.1.7 | 461 | 3/24/2025 | |
3.1.6 | 334 | 3/24/2025 | |
3.1.5 | 159 | 3/23/2025 | |
3.1.4 | 85 | 3/22/2025 | |
3.1.3 | 170 | 3/19/2025 | |
3.1.2 | 339 | 3/4/2025 | |
3.1.1 | 170 | 2/25/2025 | |
3.1.0 | 107 | 2/24/2025 | |
3.0.22 | 92 | 2/24/2025 | |
3.0.21 | 367 | 12/22/2024 | |
3.0.20 | 177 | 12/10/2024 | |
3.0.19 | 227 | 11/15/2024 | |
3.0.18 | 146 | 11/9/2024 | |
3.0.17 | 111 | 11/9/2024 | |
3.0.16 | 110 | 11/9/2024 | |
3.0.15 | 151 | 11/5/2024 | |
3.0.14 | 460 | 4/28/2023 | |
3.0.13 | 264 | 4/16/2023 | |
3.0.12 | 246 | 4/16/2023 | |
3.0.11 | 284 | 3/21/2023 | |
3.0.10 | 287 | 3/9/2023 | |
3.0.9 | 276 | 3/9/2023 | |
3.0.8 | 472 | 10/13/2022 | |
3.0.7 | 521 | 9/18/2022 | |
3.0.6 | 492 | 9/10/2022 | |
3.0.5 | 468 | 9/10/2022 | |
3.0.4 | 460 | 9/10/2022 | |
3.0.3 | 492 | 9/8/2022 | |
3.0.2 | 484 | 9/8/2022 | |
3.0.1 | 742 | 7/12/2022 | |
3.0.0 | 627 | 6/20/2022 | |
2.1.5 | 536 | 6/20/2022 | |
2.1.4 | 526 | 4/19/2021 | |
2.1.3 | 466 | 4/19/2021 | |
2.1.2 | 429 | 4/18/2021 | |
2.1.1 | 502 | 4/17/2021 | |
2.1.0 | 486 | 4/17/2021 | |
2.0.2 | 517 | 1/2/2021 | |
2.0.1 | 546 | 1/2/2021 | |
2.0.0 | 486 | 12/28/2020 | |
1.0.8 | 565 | 11/5/2020 | |
1.0.7 | 567 | 8/16/2020 | |
1.0.6 | 550 | 8/10/2020 | |
1.0.5 | 530 | 8/10/2020 | |
1.0.4 | 604 | 6/20/2020 | |
1.0.3 | 582 | 6/20/2020 | |
1.0.2 | 535 | 6/17/2020 | |
1.0.1 | 617 | 5/25/2020 | |
1.0.0 | 643 | 5/24/2020 |
Minor improvement to the auxiliary class