【发布时间】:2012-06-26 08:37:55
【问题描述】:
我有以下情况: 一个“对话”实体/表,它有多个与之关联的标签。 Tag 也是一个实体/表 - 键/id 是 tagName(一个字符串)。
在客户端 (javascript) 处理标签时,我使用字符串数组。
现在我想检索所有具有 all 给定标签的对话。
输入是一个字符串数组,输出应该是一个对话集合
我试过了:
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)
【问题讨论】:
标签: c# .net linq entity-framework linq-to-entities