0
我在我的Customer类中添加了一个名为Orders的lazyloaded属性。你认为将数据缓存在私人领域是明智的吗?是否有必要使用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;
}
}
还是更不缓存它像这样:
[SubSonicIgnore]
public IList<Order> Orders
{
get
{
var repository = new SimpleRepository("MyConnectionString", SimpleRepositoryOptions.None);
return repository.Find<Order>(x => x.CustomerId == this.CustomerId);
}
}
我问的原因是因为我认为这是对缓存性能考虑的数据是个好主意,但在同时我担心缓存数据可能会导致某些其他进程不同步从数据库插入/删除记录。