Junior — Middle
How do you determine data retention duration and manage object lifetime when working with a database?
sobes.tech AI
Answer from AI
The duration of data storage and object lifetime management in a database are usually determined at the schema and application business logic level.
- Databases can use TTL (Time To Live) or archiving policies for automatic deletion or movement of outdated data.
- In C#, when working with ORM (e.g., Entity Framework), object lifetime is controlled by the data context: objects exist in memory as long as the DbContext is active.
- To manage data lifetime, you can implement logic for deletion or archiving based on creation/update date.
Example with Entity Framework:
using(var context = new MyDbContext())
{
var oldRecords = context.Records.Where(r => r.CreatedDate < DateTime.Now.AddYears(-1));
context.Records.RemoveRange(oldRecords);
context.SaveChanges();
}
Thus, data lifetime management is a combination of database settings and application business logic.