2016-06-14 10 views
0

に私はカスタマーVisitDetailように二つのテーブルを持っていると私は、SQLにLINQのSQLクエリの下に変換する必要があります値を選択SQLの

select * 
from Customer 
where id not in (select distinct CustomerId 
       from visitdetail 
       where VisitDate='2016-06-13' and SalesRepAccId=1 and 
         RouteId=10 
       ) and 
     RouteId = 10 and Active=1 and SalesRepAccId=1 
+1

のために非常に便利です。少なくともクラスモデルを表示して、ナビゲーションプロパティと関連の多重度を確認します。また、どのタイプのLINQをターゲットにしているか(エンティティに対してはSQL、それは同じではありません!)、*と*はあなた自身の最初の努力を示します。彼らはあなたが思うかもしれないよりも、私たちにもっと多くを明確にします。 –

答えて

0

NOT IN句のネストされたクエリの場合!Contains()をご利用ください。

var customerVisitDetails = (from row in db.Visitdetail 
          where row.VisitDate == '<add obj for date comparison>' 
          && row.SalesRepAccId == 1 && row.RouteId == 10 
          select row.CustomerId).Distinct().ToList(); 

var output = (from c in db.Customer 
       where !customerVisitDetails.Contains(c.Id) 
       && c.RouteId == 10 && c.Active == 1 && c.SalesRepAccId == 1 
       select c); 

また、これは単にSQLを投稿していないし、変換を求める決してしてくださいstarting with LinQ