Comments (11)
Hi,
I agree that concurrency conflicts is an important topic. Let me write my opinions:
First of all, there is no restriction in ABP to use the techniquies described in given link. You can do with EF whatever you can do with it without using ASP.NET Boilerplate.
The point is that: It's a little hard thing to implement concurrency as described in given link. Also, it requires similar works for all entity types. Can ASP.NET Boilerplate provide a common and easy way for that? Yes, it can :) Is it a feature of an application framework? Yes, I think. When? I don't know, we should plan it. How? We can discuss it here for different approaches. It may be like that:
We can define an interface (like IHasConcurrency) that defines a RowVersion property as like in the article. Then, rest is done by ABP like that:
- While an IHasConcurrency entity is being updated/deleted, if EF throws a DbUpdateConcurrencyException then ABP handles it, rollbacks transaction and return an appropriate error message to the client.
- In the client side, ABP handles these types of errors, shows it to the user and maybe allows a way of refreshing the entity in the screen.
What's your opinion?
from aspnetboilerplate.
+1. Hope this can become a feature enahancement.
from aspnetboilerplate.
I agree that this interface is the way to go. I was originally planning on creating my own interface for it, but wasn't sure if it would conflict with the deeper levels of ABP which is why I suggested it here. I like your suggestions.
from aspnetboilerplate.
EF provider ConcurrencyCheck Attribute control esignates that a property participates in optimistic concurrency checks.
from aspnetboilerplate.
+1
from aspnetboilerplate.
+1
from aspnetboilerplate.
+1
from aspnetboilerplate.
+1
from aspnetboilerplate.
+1
from aspnetboilerplate.
This is the English link:
from aspnetboilerplate.
Any idea when we can expect this to implemented in ABP
from aspnetboilerplate.
Related Issues (20)
- GetAllIncludingAsync is missing from the IRepository interface.
- Low efficiency of soft deletion HOT 3
- UnitOfWork and Async calls - Abp Version 7.0.0 HOT 10
- Clock.Provider not working in abp v9 HOT 6
- GetAll Readonly method to IRepository HOT 1
- There is no async implementation of the AbpHangfireAuthorizationFilter.
- Retrieval of permissions is only possible synchronously. HOT 1
- When changing the language to Arabic, the layout didn't change to RTL and is still as en lang. HOT 3
- Add missed GetDbContextAsync Extension
- Update NuGet packages to latest version
- Use GetAllAsync for asynchronous methods HOT 1
- Upgrade templates to 9.2
- [Vulnerability]Ignoring tenant filters can result in cross-tenant unauthorized authorization attacks
- OrganizationUnit does not generate audit correctly HOT 1
- Error in login and register page HOT 3
- PermissionManager - GetAllPermissionsAsync: where conditions bug
- Interceptors not firing HOT 2
- MultiDbContext does not work with the Migrator project
- ABP v9.2.2 backend job caused the database connection to remain unreleased HOT 1
- Abp.AspNetCore 8.4.0 .Net 7 Detect vulnerabilities when scanning using Snyk HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from aspnetboilerplate.