为什么我可以从RIA Services返回一个字符串,但不能返回IEnumerable <string>?

Cal*_*nus 3 silverlight wcf-ria-services

我试图在我的DomainService中创建一个方法来返回一个字符串列表.我这样做的原因是因为我不想返回整个信息实体.我可以创建一个返回单个字符串的方法,如下所示:

    public string GetDestinations()
    {
        return "Hello world";
    }
Run Code Online (Sandbox Code Playgroud)

这可以通过InvokeOperation<string>电话从客户端正常工作.但是,当我将DomainService方法转换为Ienumerable时,如下所示;

    public IEnumerable<string> GetDestinations()
    {
        List<String> h = new List<string>();
        h.Add("HELLO");
        h.Add("WORLD");

        return h;
    }
Run Code Online (Sandbox Code Playgroud)

然后显然使用InvokeOperation<IEnumerable<string>>调用我得到编译器错误:

类型'String'不是有效的实体类型.实体类型不能是原始类型或简单类型,如字符串或Guid.

咦?鉴于我可以返回单个字符串,这没有意义.如何从DomainService返回字符串列表?

Ale*_*dro 6

尝试返回一个字符串数组并将该方法标记为InvokeOperation.

[Invoke]
public string[] GetDestinations()
{
...
}
Run Code Online (Sandbox Code Playgroud)