加载主数据集但在多个方法中使用

时间:2011-04-19 14:48:02

标签: c# silverlight linq-to-sql

我有一个包含4个Silverlight网格的网页。每个调用Web服务,然后使用LinqToSql通过存储过程从SQL数据库中检索数据。

使用相同的存储过程并运行几秒钟,所以我想我可以以某种方式从存储过程中检索数据,然后使用这个“主”数据列表作为数据源的其他方法。 / p>

public class DataRepository
    {
        private DynamicsGPDataContext db = new DynamicsGPDataContext();
        List<Part> dohParts = new List<Part>();
        bool partsLoaded = false;

        private void LoadAllParts()
        {
            //all parts loaded in here and stored in dohParts
        }

现在,在我的每个方法中,我都可以使用dohParts作为数据源,但因为它们是异步使用的,我怎么能告诉他们等到dohParts有数据?

或者有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

目前实施的一种方法是:

private List<Part> _dohParts;
public List<Part> dohParts
{
  get 
  { 
     if(_dohParts == null || _dohParts.Count == 0)
        LoadAllParts();

     return _dohParts;
  }
}