我使用Entity Framework 4.1有一个标签和一个具有多对多关系的文章对象。 我只是想检索一个带有标签的文章列表。但是,以下代码失败:
var db = new ArticleContext();
var tag = db.Tags.Find(tagId);
var articles= from article in db.Articles
where article.Tags.Contains(tag)
select article;
错误是“在此上下文中仅支持原始类型(例如Int32,String和Guid')。” 我知道这是EF(http://msdn.microsoft.com/en-us/library/bb896317.aspx#RefNonScalarClosures)的已知问题,但最佳解决方法是什么?
答案 0 :(得分:2)
试试这个
var articles= from article in db.Articles
where article.Tags.Any(tag => tag.Id == tagId)
select article;