We have created transactions to ensure every transaction will be committed only if all the transactions were successful. We have started with identifying conflicts, resolved them using the built-in/default transactions supported by Entity Framework (EF), then worked with simple transactions. Then we covered handling transactions using timestamp and non-timestamp fields. Finally, we created transactions that could handle different data contexts and different technologies.
Let's discuss the performance issues we commonly face in EF, or any other data access layer implementation, and a way to address those performance concerns.
In this chapter, we will be covering the following:
AsNoTracking()
method- Detecting changes
- Asynchronous operations
- Unnecessary volume returned
N + 1 Select
problem- More data than required
- Mismatched datatypes
- Missing indexes