Skip to content

Commit 53f7da6

Browse files
committed
readme updated
1 parent bf1639a commit 53f7da6

File tree

1 file changed

+53
-1
lines changed

1 file changed

+53
-1
lines changed

README.md

Lines changed: 53 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,61 @@
11

22
# UnitOfWork
3-
Реализация паттерна "Unit Of Work" для платформы ASP.NET Core.
3+
Реализация паттерна "Unit Of Work" для EntityFrameworkCore на платформе .NET
44

55
# Версии
66

7+
### 5.0.0-beta.1 2024-11-03
8+
9+
* Созданые перегрузки для всех методов, где используется параметр `disableTracking` с целью дополнить новым способом управления слежением за изменениями. Теперь доступно выбрать один из вариантов:
10+
``` csharp
11+
/// <summary>
12+
/// Changes Tracking Type for DbSet operations
13+
/// </summary>
14+
public enum TrackingType
15+
{
16+
NoTracking,
17+
NoTrackingWithIdentityResolution,
18+
Tracking
19+
}
20+
```
21+
Если вы используте сборку `Calabonga.UnitOfWork` впервые, то никаких действий дополнительных не потребуется. А если вы обновляете сборку на проекте, где уже был использовано `Calabonga.UnitOfWork`, то для использования новых методов достаточно указать явно тип слежения за изменениями. Пример кода без использования явного типа слежения:
22+
``` csharp
23+
public async Task<IEnumerable<PictureFile>> GetFilesForPostAsync(Guid postId, CancellationToken cancellationToken)
24+
{
25+
var maps = await _unitOfWork
26+
.GetRepository<ImageMapLink>()
27+
.GetAllAsync(predicate: x => x.PostId == postId); // <= Error after update 5.0.x
28+
29+
if (maps.Any())
30+
{
31+
return maps.ToList().Select(x => new PictureFile(x.ImageSrc, x.MappedSrc!));
32+
}
33+
34+
return [];
35+
}
36+
```
37+
Достаточно явно добавить тип ``
38+
``` csharp
39+
public async Task<IEnumerable<PictureFile>> GetFilesForPostAsync(Guid postId, CancellationToken cancellationToken)
40+
{
41+
var maps = await _unitOfWork
42+
.GetRepository<ImageMapLink>()
43+
.GetAllAsync(predicate: x => x.PostId == postId,
44+
trackingType: TrackingType.NoTracking); // <= Add explicit value
45+
46+
if (maps.Any())
47+
{
48+
return maps.ToList().Select(x => new PictureFile(x.ImageSrc, x.MappedSrc!));
49+
}
50+
51+
return [];
52+
}
53+
```
54+
55+
* Методы, где используется параметр `disableTracking`, помечены атрибутом `obsolete`, что означает, что в последующих версиях данные методы будут удалены.
56+
* Исправлены дубликаты кода, возникшие при склеивании веток (спасибо Andrey).
57+
58+
759
### 4.0.0 от 2024-02-25
860

961
* Обновлена версия сборки до .NET8.

0 commit comments

Comments
 (0)