从Silverlight RIA DomainService获取行总数,而不是任何其他数据

时间:2014-02-22 13:44:44

标签: wcf-ria-services

我想连续调用DATABASE以每5分钟获取一个TABLE的当前行数。使用我的应用程序的用户应该是巨大的,他们将调用数据库,我需要行数来做一些自定义的东西。

public IQueryable<CPOQC_Errorlog> GetCPOQC_Errorlog()
{
    return this.ObjectContext.CPOQC_Errorlog;
}

我不希望从服务器加载所有数据,因为它会给服务器带来压力,并可能导致性能下降。可能有类似的东西:

public int GetCPOQC_Errorlog()
{
    return this.ObjectContext.CPOQC_Errorlog.Count();
}

2 个答案:

答案 0 :(得分:0)

你可以编写一个存储过程,它只返回表中的行数,并从服务中调用这个存储过程。

答案 1 :(得分:0)

我在域服务类

中编写了以下函数
public int GetCPOQC_ErrorlogCount()
{
    return this.ObjectContext.CPOQC_Errorlog.Count();
}

我从Silverlight项目调用以获取当前行数

dataContext.Load(GetCPOQC_ErrorlogCount()).Completed += new EventHandler(errorLogCount_Completed);

void errorLogCount_Completed(object sender, EventArgs e)
{
    int errorLogRowCount = ((InvokeOperation<int>)sender).Value;
}