我刚刚在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数据服务:未找到任何操作。”
我缺少什么?
答案 0 :(得分:2)
目前,VS的Add Service Reference不会为服务操作生成方法(也不会实际理解)。 要调用返回IQueryable的服务操作,推荐的方法是使用类似:
context.CreateQuery<person>("PersonsGetAll");
如果您的服务操作采用参数,您可以通过在CreateQuery的结果上调用AddQueryOption来添加参数。