2016-07-23 11 views
0

私はLINQを完全に新しくしています。私はいくつかのSQLクエリをLINQに書き直したいと思います。ここでSQLをLINQに書き直す

は、SQLクエリです:

declare @typMon varchar(200) 
set @typMon = 'moneta' 

select * 
from [db1].[dbo].[Picking] 
where number = 1000 
and Group IN (Select grupa 
       from [db2].[dbo].[groups] 
       where typ = @typMon) 

サブクエリは、3つの出力行を返します。

var query = from x in db.grupyTowarowes 
      where x.typ == typMoneta 
      select new 
      { 
       x.grupa 
      }; 
http://i.stack.imgur.com/CDOwr.png

そして、ここではi'vは、この部分がうまく動作LINQ

に書いたものです

問題がここにあります:

私はx.typ上のエラーを得た。この第一クエリで
var test = from z in dbContext.PICKINGs 
      where z.Number == 1000 
      && z.group IN output from 1st query 
      select new 
      { 
       z.id 
      }; 

答えて

0
var test = from z in dbContext.TBL_CSV_PICKINGs 
      join g in db.grupyTowarowes on Z.group equals g.grupa 
      where z.Number == 1000 && 
      g.typ == typMoneta 
      select new { z.id }; 

またはメソッドの構文で

dbContext.TBL_CSV_PICKINGs 
    .Where(z => z.Number == 1000) 
    .Join(db.grupyTowarowes.Where(g => g.typ == typMoneta) 
     z => z.group, 
     g => g.grupa, 
     (z,g) => z.id); 
+0

==私を言うtypMoneta:名「x」は現在のコンテキスト内に存在しません – JustSomeNewbie

+0

クエリーは正常ですが、dataGridView1.DataSource = testの間にエラーが発生しました。私はこのようにすることはできませんが、他の人は知りません^ – JustSomeNewbie

関連する問題