J'ai ajouté une propriété lazyloaded appelée Orders sur ma classe Customer. Pensez-vous qu'il est sage de mettre en cache les données dans un domaine privé?Est-il nécessaire de mettre en cache les données pour une propriété chargée paresseuse avec le dépôt simple Subsonic 3?
private IList<Order> _orders;
[SubSonicIgnore]
public IList<Order> Orders
{
get
{
if (_orders == null)
{
var repository = new SimpleRepository("MyConnectionString", SimpleRepositoryOptions.None);
_orders = repository.Find<Order>(x => x.CustomerId == this.CustomerId);
}
return _orders;
}
}
Ou est-il préférable de mettre en cache pas comme ceci:
[SubSonicIgnore]
public IList<Order> Orders
{
get
{
var repository = new SimpleRepository("MyConnectionString", SimpleRepositoryOptions.None);
return repository.Find<Order>(x => x.CustomerId == this.CustomerId);
}
}
La raison pour laquelle je demande est parce que je pense qu'il est une bonne idée de mettre en cache les données pour l'amour de la performance, mais au En même temps, j'ai peur que la mise en cache des données ne provoque la désynchronisation d'autres processus insère/supprime des enregistrements de la base de données.