2011-08-10 13 views

答えて

7

さて、あなたはを試みることができる:

var qq = from s in db.tblSpecifications 
     where q.Select(x => x.SpecID).Contains(s.id) 
     select s; 

を言い換えると、プロジェクトContainsを使用する前に結果を。私はSQLがどのように見えるか分かりません。それは本当に物事が簡単になるところ私は、クエリ式の構文を使用し

var qq = db.tblSpecifications 
      .Where(s => q.Select(x => x.SpecID).Contains(s.id)); 

ちなみに、私は個人的には同じようにこれを記述します。また、複数の行をクエリに使用することを強くお勧めします。これは、読みやすさに本当に役立ちます。

1

これは必要なのですか?

var q = (from c in db.tblLiteCategorySpecs where CategoryIDs.Contains(c.CategoryID) select new { c.SpecID, c.FriendlyName }).Distinct().ToList(); 
var qq = (from s in db.tblSpecifications where q.Any(c => c.SpecID == s.id) select s); 
関連する問題