代码之家  ›  专栏  ›  技术社区  ›  Thurein

使用复合数据的ADO.NET-Data-Services文件管理器

  •  0
  • Thurein  · 技术社区  · 15 年前

    筛选查询时出现问题。

    我有一个联系人和一个标签实体,它们是多对多关系。实际上,在数据库中,它们是3个不同的表、联系人、标记和联系人标记表。我想使用标记名筛选联系人。

    我试过这个过滤器,但没用。 http://localhost:50143/ContactDataService.svc/Contacts ?$filter=标记/标记名eq“tag1”

    我错过什么了吗?

    谢谢 瑟林

    1 回复  |  直到 15 年前
        1
  •  0
  •   Jeff Reed - MSFT    15 年前

    此时无法对WCF DataServices中的集合进行筛选。您可以考虑这些替代解决方案:

    1-查询按标记名筛选的标记,并展开“联系人”

    var q = context.Tags.Expand("Contacts").Where(t => t.TagName == "Tag1");
    foreach (var contact in q.ToList().SelectMany(t => t.Contacts).Distinct())
    {
        Console.WriteLine(contact.FirstName);
    }
    

    2-添加一个接受标记名并返回具有该标记的客户列表的服务操作。

    -杰夫

    推荐文章