Skip to content

Commit b2ec4d5

Browse files
authored
Merge pull request #41 from codepb/fixUpdate
Fixing issues with change tracking on updates
2 parents eb6cf38 + 77f0587 commit b2ec4d5

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/DDDToolkit.Repository.Sql/WritableRepository.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using DDDToolkit.Core.Interfaces;
22
using DDDToolkit.Core.Repositories;
33
using Microsoft.EntityFrameworkCore;
4+
using System.Linq;
45
using System.Threading.Tasks;
56

67
namespace DDDToolkit.Repository.Sql
@@ -21,6 +22,11 @@ public virtual Task Add(T entity)
2122

2223
public virtual Task Update(T entity)
2324
{
25+
var trackedEntity = DbContext.ChangeTracker.Entries<T>().FirstOrDefault(e => e.Entity.Id.Equals(entity.Id));
26+
if(trackedEntity != null)
27+
{
28+
trackedEntity.State = EntityState.Detached;
29+
}
2430
Set.Update(entity);
2531
return Task.CompletedTask;
2632
}

0 commit comments

Comments
 (0)