我有以下情况:一个“对话”实体/表,它有多个与之关联的标签。Tag 也是一个实体/表 - 键/id 是 tagName(一个字符串)。
在客户端(javascript)处理标签时,我使用字符串数组。
现在我想检索具有所有给定标签的所有对话。
输入是字符串数组,输出应该是对话的集合
我试过了:
var filterTags = new List<EFModels.Tag>();
foreach (var tagName in tags)
{
filterTags.Add(new EFModels.Tag() { Name = tagName});
}
var conversations = from c in context.Conversations where !c.Tags.Except(filterTags).Any() select c ;
这样做的问题是:Unable to create a constant value of type 'EFModels.Tag'. Only primitive types or enumeration types are supported in this context
- 这是有道理的。
现在我该怎么做我的选择?最好的方法是什么?(我还是想用linq,不写sql select)