我在过滤查询时遇到问题。
我有一个联系人和一个标签实体,它们有多对多的关系。实际上在数据库中,它们是3个不同的表,Contacts,Tags和ContactTag表。我想使用标记名称来过滤联系人。
我正在尝试使用此过滤器,但它无效。 http://localhost:50143/ContactDataService.svc/Contacts?$ filter = Tags / TagName eq'Tag1'
我错过了什么吗?
由于 Thurein
答案 0 :(得分:0)
您目前无法在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的服务操作,并返回具有该标记的客户列表。
-Jeff