Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Silverlight 使用WCF RIA服务检查数据库中是否存在具有特定值的记录_Silverlight_Wcf_Wcf Ria Services - Fatal编程技术网

Silverlight 使用WCF RIA服务检查数据库中是否存在具有特定值的记录

Silverlight 使用WCF RIA服务检查数据库中是否存在具有特定值的记录,silverlight,wcf,wcf-ria-services,Silverlight,Wcf,Wcf Ria Services,Silverlight应用程序使用WCF RIA服务连接到SQL Server数据库。在向表中插入一组新记录之前,我应该检查该表是否在其中一个字段中包含任何具有特定值的记录 我对Silverlight有些陌生,所以需要一些关于处理WCF RIA服务的正确方法的建议 我是否应该请求过滤掉给定值的记录,加载它,然后在客户端上检查它是否包含任何此类记录?类似于域服务类产品服务中的以下方法: public IQueryable<Product> GetProducts(string name

Silverlight应用程序使用WCF RIA服务连接到SQL Server数据库。在向表中插入一组新记录之前,我应该检查该表是否在其中一个字段中包含任何具有特定值的记录

我对Silverlight有些陌生,所以需要一些关于处理WCF RIA服务的正确方法的建议

我是否应该请求过滤掉给定值的记录,加载它,然后在客户端上检查它是否包含任何此类记录?类似于域服务类
产品服务中的以下方法:

public IQueryable<Product> GetProducts(string nameFilter)
{
   return this.ObjectContext.Products.Where(p => p.Name.StartsWith(nameFilter));
}
public IQueryable GetProducts(字符串名称过滤器)
{
返回this.ObjectContext.Products.Where(p=>p.Name.StartsWith(nameFilter));
}
还是应该(在域服务类中)编写一个自定义方法,该方法将在服务器端执行所有检查,并仅返回布尔确认?


在Silverlight WCF RIA服务的环境中,哪种方法更正确?

在服务器上执行此操作,并且只通过网络发送实际需要的数据。虽然如果你最终要使用结果,我建议在同一个调用中返回结果,否则你会为相同的信息调用两次

这就是我们在应用程序中执行此操作的方式

我要补充的唯一警告是,如果您想对数据进行一些昂贵的过滤或扩展结果集,则返回完整的数据集并在客户端中工作可能会更高效,或者如果您的数据对象很大,并且您没有使用它超过一半的时间,那么进行重复调用实际上可能会更高效

实际上,与“标准”web/数据库编程相同的规则也适用——您不希望在一个服务器上进行两次(或更多)调用,但同样地,您也不希望发送不打算使用的数据。您必须分析您的应用程序,看看哪里有瓶颈,并根据具体情况分析代码


您的问题有点让人困惑,因为您引用的代码是服务器端代码。

所以您希望将所有值返回给客户端,以防用户输入与数据库中某个值匹配的值?