Linq to sql 从查询中排除列表项

Linq to sql 从查询中排除列表项,linq-to-sql,Linq To Sql,我有一个很好用的方法。我正在尝试对查询添加一些修改,但无法通过 public List<ProductDetails> getQuestionsNotRelatedWithProduct(int iProductID, int iSpaceID) { var oQuest = (from s in db.Questionaires join t in db._Product_U

我有一个很好用的方法。我正在尝试对查询添加一些修改,但无法通过

public List<ProductDetails> getQuestionsNotRelatedWithProduct(int iProductID, int iSpaceID)
        {

          var   oQuest    = (from s in db.Questionaires
                              join t in db._Product_UserQuestionaires
                              on s.Questionaire_ID equals t.Questionaire_ID
                              where !(from n in db.Product_UserQuestionaires
                                      join u in db.Products
                                      on n.Product_ID equals u._Product_ID
                                              where (u.Space_Type_ID == iSpaceID && u.Product_ID == iProductID)
                                      select n.Questionaire_ID).Contains(s.Questionaire_ID)
                              select new ProductDetails
                              {
                                  Question = s.Questionaire.ToString(),
                                  QuestionID = s.Questionaire_ID,
                              }).Distinct();
  return oQuest.ToList();

      }
public List getquestionsnotreedWithProduct(int-iProductID,int-iSpaceID)
{
var oQuest=(来自数据库问询中的s)
加入数据库中的t.\u产品\u用户问题
关于s.Questionaire\u ID等于t.Questionaire\u ID
其中!(从db.Product\u用户提问中的n开始)
加入我们的db.Products
关于n.Product_ID等于u._Product_ID
其中(u.Space\u Type\u ID==iSpaceID&&u.Product\u ID==iProductID)
选择n.Questionaire\u ID)。包含(s.Questionaire\u ID)
选择新产品详细信息
{
Question=s.Questionaire.ToString(),
QuestionID=s.Questionaire\u ID,
}).Distinct();
返回oQuest.ToList();
}
我想像你一样去

public List<ProductDetails> getQuestionsNotRelatedWithProduct(int iProductID, int iSpaceID, IList questid)
{

//here i want to filter out/exclude the "IList questid" items from the query result
not getting how to do.

}
public List getquestionsnotreedWithProduct(int-iProductID、int-iSpaceID、IList-questid)
{
//在这里,我想从查询结果中过滤/排除“IList questid”项
不知道怎么做。
}
谁能帮帮我吗


谢谢

只需将原始方法中的return语句修改为如下内容

return oQuest.Where(i => !questid.Contains(i.QuestionID)).ToList();

我缩短了所有内容,并尝试了var-oqueest=(从db.User\u questionales where!(questid.Contains(s.User\u Questionaire\u ID.ToString())中的s选择s);其给定错误方法“Boolean Contains(System.Object)”不支持转换为SQL。我怎样才能解决这个问题?请帮忙