使用复合的 ado.net-data-services 文件管理器

发布于 2024-08-31 10:42:57 字数 351 浏览 4 评论 0原文

我在过滤查询时遇到问题。

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

我正在尝试这个过滤器,但它不起作用。 http://localhost:50143/ContactDataService.svc/Contacts?$filter=Tags/TagName eq 'Tag1'

我错过了什么吗?

谢谢 苏雷因

I am having a problem filter a query.

I have a Contact and a Tag entities, which are in many to many relationship. Actually in the database, they are 3 different tables,Contacts, Tags and ContactTag table. I would like to filter contacts using the Tag name.

I was trying this filter but it did not work.
http://localhost:50143/ContactDataService.svc/Contacts?$filter=Tags/TagName eq 'Tag1'

Am I missing any thing ?

Thanks
Thurein

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦屿孤独相伴 2024-09-07 10:42:57

您目前无法筛选 WCF DataServices 中的集合。您可以考虑以下替代解决方案:

1 - 查询按 TagName 过滤的标签,并展开联系人

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 - 添加一个服务操作,该操作采用 TagName 并返回具有该标签的客户列表。

-杰夫

You are not able to filter on a collection in WCF DataServices at this time. You might consider these alternative solutions:

1 - Query for Tags filtering by TagName, and expand contacts

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 - Add a service operation that takes a TagName and returns a list of customers that have that tag.

-jeff

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文