Junior — Middle
What methodologies or strategies do you use when interacting with databases?
sobes.tech AI
Answer from AI
When working with databases in C#, I use the following methodologies and strategies:
- Using ORM (e.g., Entity Framework) for convenient interaction with the database through objects, which simplifies the code and reduces the likelihood of errors.
- Parameterized queries to prevent SQL injection.
- Asynchronous operations (
async/await) to improve application performance and responsiveness. - Transactions to ensure data integrity when performing multiple related operations.
- Connection pooling for efficient management of database connections.
- Caching frequently used data to reduce load on the database.
Example of a parameterized query using Dapper:
using (var connection = new SqlConnection(connectionString))
{
string sql = "SELECT * FROM Users WHERE Id = @Id";
var user = await connection.QueryFirstOrDefaultAsync<User>(sql, new { Id = userId });
}