WCF数据服务:'找不到任何操作'

时间:2010-06-16 14:46:26

标签: asp.net wcf entity-framework wcf-data-services

我刚刚在db(Framework 3.5 sp1)上构建了一个EF模型,我想创建一个WCF数据服务来部署它。 实体没问题,但现在我已经创建了这样的服务操作:

[WebGet]
public IQueryable<person> PersonsGetAll()
{
    return this.CurrentDataSource.persons;
}

我已经设置了InitializeService

config.SetServiceOperationAccessRule("*", ServiceOperationRights.All);

所以,如果我尝试通过url调用该操作,请调用

http://localhost:1000/AKAdvService.AKAdvService/AKAdvDataService.svc/PersonsGetAll

它工作正常,但当我将Visual Studio(2008)的引用添加到此数据服务时,我检索所有实体,但没有操作。 在“添加服务参考”的右侧面板中,我收到消息:

“ADO.Net数据服务:未找到任何操作。”

我缺少什么?

1 个答案:

答案 0 :(得分:2)

目前,VS的Add Service Reference不会为服务操作生成方法(也不会实际理解)。 要调用返回IQueryable的服务操作,推荐的方法是使用类似:

context.CreateQuery<person>("PersonsGetAll");

如果您的服务操作采用参数,您可以通过在CreateQuery的结果上调用AddQueryOption来添加参数。